gupabhi schrieb:
Hi,
The org.apache.cxf.transport.jms.JMSConduit seems tightly coupled with
JNDI. I want to be able to use it without depending on JNDI atall. It would
be nice if future versions could have loose coupling with JNDI. Something
that could be configured using spring.
I'm now writing my own JMSConduit which uses a JMSTemplate instead of reuing
the one provided.
Thanks,
Abhi
You can also use camel for jms. We use the camel cxf transport and then
simply put the services on a camel direct endpoint and configure jms and
the route in camel. I posted a config below.
While I think cxf should have a better JMS config I think the solution
with camel works quite nicely. In camel you can simply configure a
ConncectionFactory and then wire it.
I will post a complete example in the wiki shortly.
Best regards
Christian
---
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring-1.4.0.xsd
http://cxf.apache.org/transports/camel
http://cxf.apache.org/transports/camel.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
<import
resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-camel.xml" />
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="useMessageIDAsCorrelationID" value="true" />
</bean>
<bean id="jmsConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616" />
</bean>
<bean
class="org.apache.camel.component.cxf.transport.CamelTransportFactory">
<property name="bus" ref="cxf" />
<property name="camelContext" ref="camelContext" />
<property name="transportIds">
<list>
<value>http://cxf.apache.org/transports/camel</value>
</list>
</property>
</bean>
<endpoint xmlns="http://cxf.apache.org/jaxws"
xmlns:customer="http://examples.etg.enbw.net/"
id="CustomerService"
address="camel://direct:CustomerService"
serviceName="customer:CustomerServiceService"
endpointName="customer:CustomerServiceEndpoint"
implementor="CustomerServiceImpl">
<features>
<!-- Enables logging of SOAP messages. -->
<logging xmlns="http://cxf.apache.org/core" />
</features>
</endpoint>
<camelContext id="camelContext" trace="true"
xmlns="http://activemq.apache.org/camel/schema/spring">
<route>
<from
uri="jms://net.enbw.services.etg.examples.CustomerService" />
<to
uri="direct:CustomerService" />
</route>
</camelContext>
</beans>