You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by js...@apache.org on 2007/03/26 16:02:27 UTC
svn commit: r522517 - in /activemq/camel/trunk/camel-jbi: ./
src/main/java/org/apache/camel/component/jbi/
src/test/java/org/apache/camel/component/jbi/
Author: jstrachan
Date: Mon Mar 26 07:02:25 2007
New Revision: 522517
URL: http://svn.apache.org/viewvc?view=rev&rev=522517
Log:
reorganised imports and added a test case for Camel rules automatically activating JBI endpoints
Added:
activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiThenRouteToAnotherJbiComponentTest.java (with props)
Modified:
activemq/camel/trunk/camel-jbi/pom.xml
activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiComponent.java
activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiEndpoint.java
activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/FromJbiProcessor.java
activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiBinding.java
activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiEndpoint.java
activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiException.java
activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiExchange.java
activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiMessage.java
activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/JbiTestSupport.java
activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiAndBackToCamelTest.java
activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiTest.java
Modified: activemq/camel/trunk/camel-jbi/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/pom.xml?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/pom.xml (original)
+++ activemq/camel/trunk/camel-jbi/pom.xml Mon Mar 26 07:02:25 2007
@@ -18,7 +18,7 @@
-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
@@ -51,13 +51,13 @@
<artifactId>servicemix-jbi</artifactId>
<version>3.1-incubating</version>
</dependency>
-
+
<dependency>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-core</artifactId>
<version>3.1-incubating</version>
</dependency>
-
+
<dependency>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-common</artifactId>
Modified: activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiComponent.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiComponent.java (original)
+++ activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiComponent.java Mon Mar 26 07:02:25 2007
@@ -17,15 +17,18 @@
import org.apache.camel.Endpoint;
import org.apache.camel.EndpointResolver;
import org.apache.servicemix.common.DefaultComponent;
-import org.apache.servicemix.jbi.util.URISupport;
+import org.apache.servicemix.common.ServiceUnit;
import org.apache.servicemix.jbi.util.IntrospectionSupport;
+import org.apache.servicemix.jbi.util.URISupport;
+import org.apache.servicemix.jbi.resolver.URIResolver;
import javax.jbi.servicedesc.ServiceEndpoint;
+import javax.xml.namespace.QName;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.net.URISyntaxException;
-import java.net.URI;
/**
* Deploys the camel endpoints within JBI
@@ -51,7 +54,6 @@
return answer;
}
-
/**
* @return Class[]
* @see org.apache.servicemix.common.DefaultComponent#getEndpointClasses()
@@ -78,10 +80,9 @@
this.binding = binding;
}
-
@Override
protected String[] getEPRProtocols() {
- return new String[] { "camel" };
+ return new String[]{"camel"};
}
protected org.apache.servicemix.common.Endpoint getResolvedEPR(ServiceEndpoint ep) throws Exception {
@@ -90,7 +91,6 @@
return endpoint;
}
-
/**
* A factory method for creating endpoints from a service endpoint
* which is public so that it can be easily unit tested
@@ -119,14 +119,8 @@
public Endpoint resolveEndpoint(CamelContext context, String uri) throws Exception {
if (uri.startsWith("jbi:")) {
uri = uri.substring("jbi:".length());
- JbiEndpoint camelEndpoint = new JbiEndpoint(uri, context, getComponentContext(), getBinding());
- // lets expose this endpoint now in JBI
- // TODO there could already be a component registered in JBI for this??
- CamelJbiEndpoint jbiEndpoint = new CamelJbiEndpoint(getServiceUnit(), camelEndpoint, getBinding());
- addEndpoint(jbiEndpoint);
- jbiEndpoint.activate();
- return camelEndpoint;
+ return new JbiEndpoint(this, uri);
}
return null;
}
@@ -137,5 +131,34 @@
public void setCamelContext(CamelContext camelContext) {
this.camelContext = camelContext;
+ }
+
+ /**
+ * Returns a JBI endpoint created for the given Camel endpoint
+ */
+ public CamelJbiEndpoint activateJbiEndpoint(JbiEndpoint camelEndpoint) throws Exception {
+ CamelJbiEndpoint jbiEndpoint = null;
+ String endpointUri = camelEndpoint.getEndpointUri();
+ if (endpointUri.startsWith("service:")) {
+ // lets decode "service:serviceNamespace:serviceName:endpointName
+ String uri = endpointUri.substring("service:".length());
+ String[] parts = new String[0];
+ try {
+ parts = URIResolver.split3(uri);
+ }
+ catch (IllegalArgumentException e) {
+ throw new IllegalArgumentException("Expected syntax service:serviceNamespace:serviceName:endpointName but was given: " + endpointUri + ". Cause: " + e, e);
+ }
+ QName service = new QName(parts[0], parts[1]);
+ String endpoint = parts[2];
+ jbiEndpoint = new CamelJbiEndpoint(getServiceUnit(), service, endpoint, camelEndpoint, getBinding());
+ }
+ else {
+ jbiEndpoint = new CamelJbiEndpoint(getServiceUnit(), camelEndpoint, getBinding());
+ }
+
+ // the following method will activate the new dynamic JBI endpoint
+ addEndpoint(jbiEndpoint);
+ return jbiEndpoint;
}
}
Modified: activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiEndpoint.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiEndpoint.java (original)
+++ activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/CamelJbiEndpoint.java Mon Mar 26 07:02:25 2007
@@ -12,11 +12,11 @@
*/
package org.apache.camel.component.jbi;
-import org.apache.servicemix.common.ServiceUnit;
-import org.apache.servicemix.common.endpoints.ProviderEndpoint;
import org.apache.camel.Endpoint;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.servicemix.common.ServiceUnit;
+import org.apache.servicemix.common.endpoints.ProviderEndpoint;
import javax.jbi.messaging.MessageExchange;
import javax.jbi.messaging.NormalizedMessage;
@@ -29,20 +29,18 @@
*/
public class CamelJbiEndpoint extends ProviderEndpoint {
private static final transient Log log = LogFactory.getLog(CamelJbiEndpoint.class);
-
private static final QName SERVICE_NAME = new QName("http://camel.apache.org/service", "CamelEndpointComponent");
private Endpoint camelEndpoint;
private JbiBinding binding;
- public CamelJbiEndpoint(ServiceUnit serviceUnit, QName service, String endpoint, JbiBinding binding) {
+ public CamelJbiEndpoint(ServiceUnit serviceUnit, QName service, String endpoint, Endpoint camelEndpoint, JbiBinding binding) {
super(serviceUnit, service, endpoint);
+ this.camelEndpoint = camelEndpoint;
this.binding = binding;
}
public CamelJbiEndpoint(ServiceUnit serviceUnit, Endpoint camelEndpoint, JbiBinding binding) {
- super(serviceUnit, SERVICE_NAME, camelEndpoint.getEndpointUri());
- this.camelEndpoint = camelEndpoint;
- this.binding = binding;
+ this(serviceUnit, SERVICE_NAME, camelEndpoint.getEndpointUri(), camelEndpoint, binding);
}
protected void processInOnly(MessageExchange exchange, NormalizedMessage in) throws Exception {
Modified: activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/FromJbiProcessor.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/FromJbiProcessor.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/FromJbiProcessor.java (original)
+++ activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/FromJbiProcessor.java Mon Mar 26 07:02:25 2007
@@ -17,9 +17,9 @@
*/
package org.apache.camel.component.jbi;
-import org.apache.servicemix.MessageExchangeListener;
-import org.apache.camel.Processor;
import org.apache.camel.CamelContext;
+import org.apache.camel.Processor;
+import org.apache.servicemix.MessageExchangeListener;
import javax.jbi.messaging.MessageExchange;
import javax.jbi.messaging.MessagingException;
@@ -28,7 +28,6 @@
* @version $Revision$
*/
public class FromJbiProcessor implements MessageExchangeListener {
-
private CamelContext context;
private JbiBinding binding;
private Processor<JbiExchange> processor;
Modified: activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiBinding.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiBinding.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiBinding.java (original)
+++ activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiBinding.java Mon Mar 26 07:02:25 2007
@@ -18,17 +18,16 @@
package org.apache.camel.component.jbi;
import org.apache.camel.Exchange;
-import org.apache.servicemix.client.Destination;
import javax.jbi.messaging.MessageExchange;
+import javax.jbi.messaging.MessageExchangeFactory;
import javax.jbi.messaging.MessagingException;
import javax.jbi.messaging.NormalizedMessage;
-import javax.jbi.messaging.MessageExchangeFactory;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
+import java.io.StringReader;
import java.util.Map;
import java.util.Set;
-import java.io.StringReader;
/**
* The binding of how Camel messages get mapped to JBI and back again
Modified: activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiEndpoint.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiEndpoint.java (original)
+++ activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiEndpoint.java Mon Mar 26 07:02:25 2007
@@ -17,16 +17,9 @@
*/
package org.apache.camel.component.jbi;
-import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
import org.apache.camel.impl.DefaultEndpoint;
-import org.apache.servicemix.client.Destination;
-import org.apache.servicemix.client.ServiceMixClient;
-
-import javax.jbi.messaging.MessagingException;
-import javax.jbi.component.ComponentContext;
/**
* Represents an {@link Endpoint} for interacting with JBI
@@ -34,13 +27,13 @@
* @version $Revision$
*/
public class JbiEndpoint extends DefaultEndpoint<Exchange> {
- private final JbiBinding binding;
private ToJbiProcessor toJbiProcessor;
+ private final CamelJbiComponent jbiComponent;
- public JbiEndpoint(String endpointUri, CamelContext container, ComponentContext componentContext, JbiBinding binding) {
- super(endpointUri, container);
- this.binding = binding;
- toJbiProcessor = new ToJbiProcessor(binding, componentContext, endpointUri);
+ public JbiEndpoint(CamelJbiComponent jbiComponent, String uri) {
+ super(uri, jbiComponent.getCamelContext());
+ this.jbiComponent = jbiComponent;
+ toJbiProcessor = new ToJbiProcessor(jbiComponent.getBinding(), jbiComponent.getComponentContext(), uri);
}
/**
@@ -54,8 +47,8 @@
protected void doActivate() throws Exception {
super.doActivate();
- // TODO once the inbound is activated we need to register a JBI endpoint
-
+ // lets create and activate the endpoint in JBI
+ jbiComponent.activateJbiEndpoint(this);
}
public JbiExchange createExchange() {
@@ -63,6 +56,6 @@
}
public JbiBinding getBinding() {
- return binding;
+ return jbiComponent.getBinding();
}
}
Modified: activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiException.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiException.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiException.java (original)
+++ activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiException.java Mon Mar 26 07:02:25 2007
@@ -19,8 +19,6 @@
import org.apache.camel.RuntimeCamelException;
-import javax.jbi.messaging.MessagingException;
-
/**
* @version $Revision$
*/
Modified: activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiExchange.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiExchange.java (original)
+++ activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiExchange.java Mon Mar 26 07:02:25 2007
@@ -25,7 +25,7 @@
import javax.jbi.messaging.NormalizedMessage;
/**
- * An {@link Exchange} working with JBI which exposes the underlying JBI features such as the
+ * An {@link Exchange} working with JBI which exposes the underlying JBI features such as the
* JBI {@link #getMessageExchange()}
*
* @version $Revision$
@@ -50,7 +50,6 @@
setFault(new JbiMessage(messageExchange.getMessage("fault")));
}
-
@Override
public JbiMessage getIn() {
return (JbiMessage) super.getIn();
@@ -73,7 +72,6 @@
return binding;
}
-
// Expose JBI features
//-------------------------------------------------------------------------
@@ -114,10 +112,9 @@
return getFault().getNormalizedMessage();
}
-
// Implementation methods
//-------------------------------------------------------------------------
-
+
@Override
protected JbiMessage createInMessage() {
return new JbiMessage();
Modified: activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiMessage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiMessage.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiMessage.java (original)
+++ activemq/camel/trunk/camel-jbi/src/main/java/org/apache/camel/component/jbi/JbiMessage.java Mon Mar 26 07:02:25 2007
@@ -17,8 +17,8 @@
*/
package org.apache.camel.component.jbi;
-import org.apache.camel.impl.DefaultMessage;
import org.apache.camel.Message;
+import org.apache.camel.impl.DefaultMessage;
import javax.jbi.messaging.NormalizedMessage;
import java.util.Iterator;
Modified: activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/JbiTestSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/JbiTestSupport.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/JbiTestSupport.java (original)
+++ activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/JbiTestSupport.java Mon Mar 26 07:02:25 2007
@@ -17,21 +17,21 @@
*/
package org.apache.camel.component.jbi;
-import org.apache.camel.TestSupport;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.camel.TestSupport;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
import org.apache.servicemix.jbi.container.ActivationSpec;
import org.apache.servicemix.jbi.container.SpringJBIContainer;
import javax.xml.namespace.QName;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.CountDownLatch;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
/**
* @version $Revision$
@@ -103,7 +103,7 @@
camelContext.activateEndpoints();
}
- protected abstract void appendJbiActivationSpecs(List<ActivationSpec> activationSpecList);
+ protected abstract void appendJbiActivationSpecs(List<ActivationSpec> activationSpecList);
protected abstract RouteBuilder createRoutes();
}
Modified: activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiAndBackToCamelTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiAndBackToCamelTest.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiAndBackToCamelTest.java (original)
+++ activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiAndBackToCamelTest.java Mon Mar 26 07:02:25 2007
@@ -17,20 +17,15 @@
*/
package org.apache.camel.component.jbi;
-import org.apache.servicemix.tck.ReceiverComponent;
-import org.apache.servicemix.tck.MessageList;
-import org.apache.servicemix.tck.SenderComponent;
-import org.apache.servicemix.jbi.container.ActivationSpec;
-import org.apache.servicemix.jbi.resolver.ServiceNameEndpointResolver;
-import org.apache.servicemix.jbi.resolver.URIResolver;
+import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.queue.QueueEndpoint;
-import org.apache.camel.Exchange;
+import org.apache.servicemix.jbi.container.ActivationSpec;
+import org.apache.servicemix.jbi.resolver.URIResolver;
+import org.apache.servicemix.tck.SenderComponent;
-import javax.jbi.messaging.NormalizedMessage;
import javax.xml.namespace.QName;
import java.util.List;
-import java.util.Queue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
Modified: activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiTest.java?view=diff&rev=522517&r1=522516&r2=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiTest.java (original)
+++ activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiTest.java Mon Mar 26 07:02:25 2007
@@ -18,15 +18,12 @@
package org.apache.camel.component.jbi;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
import org.apache.servicemix.jbi.container.ActivationSpec;
-import org.apache.servicemix.components.util.EchoComponent;
-import org.apache.servicemix.tck.ReceiverComponent;
import org.apache.servicemix.tck.MessageList;
+import org.apache.servicemix.tck.ReceiverComponent;
-import javax.xml.namespace.QName;
import javax.jbi.messaging.NormalizedMessage;
+import javax.xml.namespace.QName;
import java.util.List;
/**
@@ -46,7 +43,6 @@
log.info("Received: " + message);
assertEquals("cheese header", 123, message.getProperty("cheese"));
-
}
protected RouteBuilder createRoutes() {
Added: activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiThenRouteToAnotherJbiComponentTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiThenRouteToAnotherJbiComponentTest.java?view=auto&rev=522517
==============================================================================
--- activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiThenRouteToAnotherJbiComponentTest.java (added)
+++ activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiThenRouteToAnotherJbiComponentTest.java Mon Mar 26 07:02:25 2007
@@ -0,0 +1,70 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.jbi;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.servicemix.jbi.container.ActivationSpec;
+import org.apache.servicemix.tck.MessageList;
+import org.apache.servicemix.tck.ReceiverComponent;
+
+import javax.jbi.messaging.NormalizedMessage;
+import javax.xml.namespace.QName;
+import java.util.List;
+
+/**
+ * @version $Revision$
+ */
+public class SendFromCamelToJbiThenRouteToAnotherJbiComponentTest extends JbiTestSupport {
+ private ReceiverComponent receiverComponent = new ReceiverComponent();
+
+ public void testCamelInvokingJbi() throws Exception {
+ sendExchange("<foo bar='123'/>");
+ MessageList list = receiverComponent.getMessageList();
+
+ list.assertMessagesReceived(1);
+ List messages = list.getMessages();
+ NormalizedMessage message = (NormalizedMessage) messages.get(0);
+ assertNotNull("null message!", message);
+ log.info("Received: " + message);
+
+ assertEquals("cheese header", 123, message.getProperty("cheese"));
+ }
+
+ protected RouteBuilder createRoutes() {
+ return new RouteBuilder() {
+ public void configure() {
+ from("jbi:service:serviceNamespace:serviceA:endpointA").to("jbi:service:serviceNamespace:serviceB");
+ }
+ };
+ }
+
+ protected void appendJbiActivationSpecs(List<ActivationSpec> activationSpecList) {
+ ActivationSpec activationSpec = new ActivationSpec();
+ activationSpec.setId("jbiReceiver");
+ activationSpec.setService(new QName("serviceNamespace", "serviceB"));
+ activationSpec.setEndpoint("endpointB");
+ activationSpec.setComponent(receiverComponent);
+
+ activationSpecList.add(activationSpec);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ camelContext.deactivateEndpoints();
+ }
+}
Propchange: activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiThenRouteToAnotherJbiComponentTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiThenRouteToAnotherJbiComponentTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: activemq/camel/trunk/camel-jbi/src/test/java/org/apache/camel/component/jbi/SendFromCamelToJbiThenRouteToAnotherJbiComponentTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain