You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/12/10 04:15:10 UTC
svn commit: r889065 - in /cxf/trunk: rt/transports/jms/
rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/
rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/
rt/transports/jms/src/test/resources/ testutils/src/main/resources/wsdl/
Author: dkulp
Date: Thu Dec 10 03:15:09 2009
New Revision: 889065
URL: http://svn.apache.org/viewvc?rev=889065&view=rev
Log:
[CXF-2577] Only set creds if it's not already a SingleConnectionFactory
Added:
cxf/trunk/rt/transports/jms/src/test/resources/jms_test_jndi.xml (with props)
Modified:
cxf/trunk/rt/transports/jms/pom.xml
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
cxf/trunk/testutils/src/main/resources/wsdl/jms_test.wsdl
Modified: cxf/trunk/rt/transports/jms/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/pom.xml?rev=889065&r1=889064&r2=889065&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/pom.xml (original)
+++ cxf/trunk/rt/transports/jms/pom.xml Thu Dec 10 03:15:09 2009
@@ -86,6 +86,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-spring</artifactId>
+ <version>3.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.2</version>
Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java?rev=889065&r1=889064&r2=889065&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java (original)
+++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java Thu Dec 10 03:15:09 2009
@@ -32,6 +32,7 @@
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.service.model.EndpointInfo;
+import org.springframework.jms.connection.SingleConnectionFactory;
import org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.JmsTemplate102;
@@ -73,12 +74,15 @@
try {
ConnectionFactory cf = (ConnectionFactory)jmsConfig.getJndiTemplate().
lookup(connectionFactoryName);
- UserCredentialsConnectionFactoryAdapter uccf = new UserCredentialsConnectionFactoryAdapter();
- uccf.setUsername(userName);
- uccf.setPassword(password);
- uccf.setTargetConnectionFactory(cf);
+ if (!(cf instanceof SingleConnectionFactory)) {
+ UserCredentialsConnectionFactoryAdapter uccf = new UserCredentialsConnectionFactoryAdapter();
+ uccf.setUsername(userName);
+ uccf.setPassword(password);
+ uccf.setTargetConnectionFactory(cf);
+ cf = uccf;
+ }
- return uccf;
+ return cf;
} catch (NamingException e) {
throw new RuntimeException(e);
}
Modified: cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java?rev=889065&r1=889064&r2=889065&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java (original)
+++ cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java Thu Dec 10 03:15:09 2009
@@ -543,4 +543,19 @@
destination.shutdown();
}
+ @Test
+ public void testGetSpringSingleConnectionFactoryFromWSDL() throws Exception {
+ setupServiceInfo("http://cxf.apache.org/hello_world_jms", "/wsdl/jms_test.wsdl",
+ "HelloWorldServiceSpringICF", "HelloWorldPortSpringICF");
+ final JMSDestination destination = setupJMSDestination(true);
+ // set up the conduit send to be true
+ JMSConduit conduit = setupJMSConduit(true, false);
+ final Message outMessage = new MessageImpl();
+ setupMessageHeader(outMessage, null);
+ sendoutMessage(conduit, outMessage, true);
+ waitForReceiveDestMessage();
+ conduit.close();
+ destination.shutdown();
+ }
+
}
Added: cxf/trunk/rt/transports/jms/src/test/resources/jms_test_jndi.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/test/resources/jms_test_jndi.xml?rev=889065&view=auto
==============================================================================
--- cxf/trunk/rt/transports/jms/src/test/resources/jms_test_jndi.xml (added)
+++ cxf/trunk/rt/transports/jms/src/test/resources/jms_test_jndi.xml Thu Dec 10 03:15:09 2009
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+
+<beans
+ xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ct="http://cxf.apache.org/configuration/types"
+ xmlns:jms="http://cxf.apache.org/transports/jms"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="
+http://cxf.apache.org/transports/jms http://cxf.apache.org/schemas/configuration/jms.xsd
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="jndi" class="org.apache.xbean.spring.jndi.SpringInitialContextFactory" factory-method="makeInitialContext" singleton="true">
+ <property name="entries" ref="jndiEntries" />
+ </bean>
+
+ <util:map id="jndiEntries">
+ <entry key="ConnectionFactory">
+ <bean class="org.springframework.jms.connection.SingleConnectionFactory">
+ <property name="targetConnectionFactory">
+ <bean class="org.apache.activemq.ActiveMQConnectionFactory">
+ <property name="brokerURL">
+ <value>tcp://localhost:61500</value>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </entry>
+ </util:map>
+</beans>
+
Propchange: cxf/trunk/rt/transports/jms/src/test/resources/jms_test_jndi.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/transports/jms/src/test/resources/jms_test_jndi.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/transports/jms/src/test/resources/jms_test_jndi.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_test.wsdl
URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_test.wsdl?rev=889065&r1=889064&r2=889065&view=diff
==============================================================================
--- cxf/trunk/testutils/src/main/resources/wsdl/jms_test.wsdl (original)
+++ cxf/trunk/testutils/src/main/resources/wsdl/jms_test.wsdl Thu Dec 10 03:15:09 2009
@@ -583,6 +583,20 @@
</port>
</service>
+ <service name="HelloWorldServiceSpringICF">
+ <port binding="tns:HelloWorldPortBinding" name="HelloWorldPortSpringICF">
+ <jms:clientConfig useConduitIdSelector="false"/>
+ <jms:address
+ jndiConnectionFactoryName="ConnectionFactory"
+ jmsDestinationName="dynamicQueues/test.jmstransport.text">
+ <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.apache.xbean.spring.jndi.SpringInitialContextFactory"/>
+ <jms:JMSNamingProperty name="java.naming.provider.url" value="classpath:/jms_test_jndi.xml"/>
+ </jms:address>
+
+ <jms:server durableSubscriberName="CXF_subscriber"/>
+ </port>
+ </service>
+
</definitions>