Hello,

We need to connect to two different JMS providers in two different
application containers:

   1. A remote MQ running on WebSphere
   2. A local WebSphere using the native JMS implementation

We are using Spring-only configuration.
I managed to properly connect to both containers individually but I don't
know how to configure the two connections at the same time, since there is
only one JMS component.
How should I approach this task? Is there a way to set up two different JMS
components and use distinguishable endpoint URIs to reference them?

My current configuration looks something like this (both factories work
alternatively):

<bean id="JmsComponent" class="org.apache.camel.component.jms.JmsComponent">
   <property name="connectionFactory" ref="JmsConnectionFactory"/>
</bean>

<bean id="JmsConnectionFactory"
class="com.ibm.mq.jms.MQQueueConnectionFactory">
    <property name="transportType" value="1"/>
    <property name="hostName" value="..."/>
    <property name="port" value="..."/>
    <property name="queueManager" value="..."/>
</bean>

<jee:jndi-lookup id="JmsConnectionFactory2"
jndi-name="jms/QueueConnectionFactory" lookup-on-startup="true"
proxy-interface="javax.jms.QueueConnectionFactory">
    <jee:environment>

java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory
        java.naming.provider.url=iiop://...
        java.naming.security.authentication=simple
        java.naming.security.principal=...
        java.naming.security.credentials=...
    </jee:environment>
</jee:jndi-lookup>

Thank you,
Gabriel

Reply via email to