Monday, June 10, 2013

How to Configure ActiveMQ with WSO2 ESB 4.6.0 within TWO MINUTES

WSO2 ESB is allows to work with the JMS transport to send and receive messages to queues and topics of any JMS services. WSO2 ESB capable to work with multiple broker services such as,
  • WSO2 Message Broker
  • Active MQ
  • IBM WebSphere MQ
  • IBM WebSphere  Application Server
  • MSMQ
  • Tibco EMS
  • SwiftMQ

Hence many users trying to use WSO2 ESB with ActiveMQ this blog post will demonstrate how to configure ActiveMQ with ESB within 2 minutes.I am using ActiveMQ 5.5.1 and ESB 4.6.0.

        1. Download ActiveMQ from here. 
        2. Download WSO2 ESB from here.

        3. Extract "apache-activemq-5.5.1" open ACTIVEMQ_HOME/lib directory and copy below jars.  
  • activemq-core-5.5.1.jar
  • geronimo-j2ee-management_1.0_spec-1.0.jar
  • geronimo-jms_1.1_spec-1.1.1.jar

    NOTE :  If you are using ActiveMQ 5.5.8 distribution, there's no activemq-core-5.5.1.jar in lib directory. Please copy following jars.

    • activemq-broker-5.8.0 
    • activemq-client-5.8.0 
    • geronimo-j2ee-management_1.1_spec-1.0.1 
    • geronimo-jms_1.1_spec-1.1.1 

    4. Extract ESB distribution and copy above AvtiveMQ related jars in to the "ESB_HOME/repository/components/lib" directory. 

    5. Now JMS listner and JMS sender need to be enabled in ESB distribution to serve with the ActiveMQ message Broker. To Do that open "axis2.xml" located in "ESB_HOME/repository/conf/axis2"location.

    6. Uncomment JMS listener configurations as follows. we are enabling In Queue connection factory, Topic connection factory and default to listen JMS messages. How these 3 are work is if ESB has proxy service and in that proxy specifically mention proxy type to the JMS Queue it is using Queue connection factory. If proxy type mention topic,it uses topic connection factory. If there are nothing in proxy type it uses "default" but most of the times default also point to the JMS queue. 

    7. Now Uncomment lelow line from axis2.xml to enable JMS sender.

    8. Now start ActiveMQ broker. To do that open ActiveMQ_Home/bin and run activemq script as a "./ active start" command. Once you started successfully you will see ActiveMQ web console from "http://localhost:8161/admin/index.jsp"

    9. Finally start ESB server and send messages from ActiveMQ queue to ESB.

1 comment:

Lory Hou said...

when I post a message to active mq, for example, I post a message to queue named "myQueue", how can I find this message in ESB.