The following config file is for a round trip test I wrote which uses the Interstage JMS provider and ServiceMix 2.02

jms client #1 => Q1 => ESB => Q2 => jms client #2 => Q3 => ESB => Q4 => jms client #1 (again)
where Q1-4 are my JMS Queues

NOTE - this is only a JMS 1.02 provider

Cheers,
Peter.

=====

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:my="http://servicemix.org/demo/";>

 <!-- the JBI container -->
 <container id="jbi">
   <property name="createMBeanServer" value="true"/>
   <property name="dumpStats" value="true"/>
   <property name="statsInterval" value="10"/>


   <components>
     <!-- 1st. Request subscribe to a JMS destination Q1 -->
<component id="requestReceiver" service="my:requestReceiver" class="org.servicemix.components.jms.JmsReceiverComponent" destinationService="my:requestSender">
       <property name="template">
         <bean class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory"><ref bean="myQueueConnectionFactory"/></property> <property name="destinationResolver"><ref bean="myJmsDestinationResolver"/></property> <property name="defaultDestinationName" value="java:comp/env/jms/queue/Q1"/>
           <property name="pubSubDomain" value="false"/>
         </bean>
       </property>
       <property name="selector" value=""/>
     </component>
     <!-- 2nd. Request sent to a JMS destination Q2 -->
<component id="requestSender" service="my:requestSender" class="org.servicemix.components.jms.JmsSenderComponent">
       <property name="template">
         <bean class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory"><ref bean="myQueueConnectionFactory"/></property> <property name="destinationResolver"><ref bean="myJmsDestinationResolver"/></property> <property name="defaultDestinationName" value="java:comp/env/jms/queue/Q2"/>
           <property name="pubSubDomain" value="false"/>
           <property name="explicitQosEnabled" value="true"/>
           <property name="deliveryMode" value="1"/>
           <property name="timeToLive" value="60000"/>
         </bean>
       </property>
</component> <!-- 3rd. Response comes back on JMS destination Q3 --> <component id="responseReceiver" service="my:responseReceiver" class="org.servicemix.components.jms.JmsReceiverComponent" destinationService="my:responseSender">
       <property name="template">
         <bean class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory"><ref bean="myQueueConnectionFactory"/></property> <property name="destinationResolver"><ref bean="myJmsDestinationResolver"/></property> <property name="defaultDestinationName" value="java:comp/env/jms/queue/Q3"/>
           <property name="pubSubDomain" value="false"/>
         </bean>
       </property>
       <property name="selector" value=""/>
     </component>
     <!-- 4th. Response sent back to client via JMS destination Q4 -->
<component id="responseSender" service="my:responseSender" class="org.servicemix.components.jms.JmsSenderComponent">
       <property name="template">
         <bean class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory"><ref bean="myQueueConnectionFactory"/></property> <property name="destinationResolver"><ref bean="myJmsDestinationResolver"/></property> <property name="defaultDestinationName" value="java:comp/env/jms/queue/Q4"/>
           <property name="pubSubDomain" value="false"/>
           <property name="explicitQosEnabled" value="true"/>
           <property name="deliveryMode" value="1"/>
           <property name="timeToLive" value="60000"/>
         </bean>
       </property>
</component> </components> </container>

 <!-- Use my own JNDI - The JMS objects are already binded in here -->
 <bean id="myJndi" class="org.springframework.jndi.JndiTemplate">
     <property name="environment">
       <props>
<prop key="java.naming.factory.initial">com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient</prop>
       </props>
     </property>
 </bean>

 <!-- The QueueConnectionFactory is in my JNDI -->
<bean id="myQueueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiTemplate" ref="myJndi"/>
   <property name="jndiName" value="java:comp/env/jms/queue/QCF"/>
 </bean>

 <!-- The JMS Destinations are resolved by looking them up in my JNDI -->
<bean id="myJmsDestinationResolver" class="org.springframework.jms.support.destination.JndiDestinationResolver">
   <property name="jndiTemplate" ref="myJndi"/>
 </bean>

<!-- Needed for SpringJBIContainer? --> <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean"/>

</beans>



Fabian Crabus wrote:

Hi,

I'm trying to integrate ServiceMix with a JMS provider other than
ActiveMQ (SonicMQ to be specific).
How do I configure ServiceMix to use that?

The documentation talks about configuring JMS bridges though
the link to the example does not work.
So I'm a bit lost here.

Can anyone help?

Thanks,
Fabian



Reply via email to