You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/08/13 10:47:33 UTC

svn commit: r1157349 - in /camel/branches/camel-2.8.x: ./ components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java

Author: davsclaus
Date: Sat Aug 13 08:47:33 2011
New Revision: 1157349

URL: http://svn.apache.org/viewvc?rev=1157349&view=rev
Log:
Merged revisions 1157348 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk


Modified:
    camel/branches/camel-2.8.x/   (props changed)
    camel/branches/camel-2.8.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
    camel/branches/camel-2.8.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Aug 13 08:47:33 2011
@@ -1 +1 @@
-/camel/trunk:1155230,1156108,1156260,1156524
+/camel/trunk:1155230,1156108,1156260,1156524,1157348

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Sat Aug 13 08:47:33 2011
@@ -1 +1 @@
-/camel/trunk:1-1148091,1149488,1153146,1153323,1155229-1155231,1155233-1155276,1155278-1155291,1155293-1155318,1155320-1155327,1156108,1156260,1156524
+/camel/trunk:1-1148091,1149488,1153146,1153323,1155229-1155231,1155233-1155276,1155278-1155291,1155293-1155318,1155320-1155327,1156108,1156260,1156524,1157348

Modified: camel/branches/camel-2.8.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java?rev=1157349&r1=1157348&r2=1157349&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java (original)
+++ camel/branches/camel-2.8.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java Sat Aug 13 08:47:33 2011
@@ -399,6 +399,12 @@ public class JmsComponent extends Defaul
             }
         }
 
+        // resolve any custom connection factory first
+        ConnectionFactory cf = resolveAndRemoveReferenceParameter(parameters, "connectionFactory", ConnectionFactory.class);
+        if (cf != null) {
+            endpoint.getConfiguration().setConnectionFactory(cf);
+        }
+
         String selector = getAndRemoveParameter(parameters, "selector", String.class);
         if (selector != null) {
             endpoint.setSelector(selector);
@@ -406,7 +412,7 @@ public class JmsComponent extends Defaul
         String username = getAndRemoveParameter(parameters, "username", String.class);
         String password = getAndRemoveParameter(parameters, "password", String.class);
         if (username != null && password != null) {
-            ConnectionFactory cf = endpoint.getConfiguration().getConnectionFactory();
+            cf = endpoint.getConfiguration().getConnectionFactory();
             UserCredentialsConnectionFactoryAdapter ucfa = new UserCredentialsConnectionFactoryAdapter();
             ucfa.setTargetConnectionFactory(cf);
             ucfa.setPassword(password);

Modified: camel/branches/camel-2.8.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java?rev=1157349&r1=1157348&r2=1157349&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java (original)
+++ camel/branches/camel-2.8.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java Sat Aug 13 08:47:33 2011
@@ -21,11 +21,13 @@ import javax.jms.DeliveryMode;
 import javax.jms.ExceptionListener;
 import javax.jms.JMSException;
 
+import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.ResolveEndpointFailedException;
+import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.processor.CamelLogger;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
@@ -43,6 +45,8 @@ import static org.apache.camel.component
  */
 public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
+    private ConnectionFactory cf = new ActiveMQConnectionFactory("vm:myBroker");
+
     private Processor dummyProcessor = new Processor() {
         public void process(Exchange exchange) throws Exception {
             log.info("Received: " + exchange);
@@ -71,6 +75,15 @@ public class JmsEndpointConfigurationTes
     }
  
     @Test
+    public void testSetConnectionFactoryAndUsernameAndPassword() throws Exception {
+        JmsEndpoint endpoint = (JmsEndpoint) resolveMandatoryEndpoint("jms:topic:Foo.Bar?connectionFactory=#myConnectionFactory&username=James&password=ABC");
+        ConnectionFactory cf = endpoint.getConfiguration().getConnectionFactory();
+        assertNotNull("The connectionFactory should not be null", cf);
+        assertTrue("The connectionFactory should be the instance of UserCredentialsConnectionFactoryAdapter",
+                   cf instanceof UserCredentialsConnectionFactoryAdapter);
+    }
+
+    @Test
     public void testNotSetUsernameOrPassword() {
         try {
             resolveMandatoryEndpoint("jms:topic:Foo.Bar?username=James");
@@ -406,4 +419,13 @@ public class JmsEndpointConfigurationTes
 
         return camelContext;
     }
+
+    @Override
+    protected JndiRegistry createRegistry() throws Exception {
+        JndiRegistry jndi = super.createRegistry();
+        jndi.bind("myConnectionFactory", cf);
+        return jndi;
+    }
+
+
 }