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; + } + + }