No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Latest commit d1c6da1 Nov 11, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Update hello_rabbitmq_jndi.properties Jul 5, 2015
.gitignore .gitignore file added Nov 5, 2015
README.md Update README.md Nov 11, 2015
pom.xml First relase of WSO2 ESB MessageStore and MessageProcessor for RabbitMQ Jul 5, 2015

README.md

wso2esb-rabbitmq-message-store

WSO2 ESB Message Store and Message Processor implementation for RabbitMQ

This Message Store and Message Processor (MS&MP) implements the way how to WSO2 ESB and RabbitMQ (or any Message Broker) should work. With this MS&MP we can implement different EIP related to messaging such as:

  • Dead Letter Queue
  • Wire Tap
  • Retry Queue
  • Throttling

For further information about EIP, I recommend the next pages:

This is valid for:

  • WSO2 ESB 4.8.1
  • RabbitMQ 3.4.4
  • Apache Qpid client 0.30

How to check the sourcecode and configuration

Follow the next commands:

$ mkdir wso2esb-rabbitmq-message-store
$ cd wso2esb-rabbitmq-message-store
$ git pull https://github.com/Chilcano/wso2esb-rabbitmq-message-store.git
$ mvn clean install
$ mvn exec:java -Dexec.mainClass="com.chakray.chilcano.wso2.rabbitmq.sample.HelloRabbitMQ"

The com.chakray.chilcano.wso2.rabbitmq.sample.HelloRabbitMQ is a simple JMS client that publish and consume a message to/from RabbitMQ. This sample uses Apache Qpid client library, does not use RabbitMQ client libraries. To execute properly you should update the hello_rabbitmq_jndi.properties with your values.

How to deploy on WSO2 ESB

Deploy the libraries:

  1. Copy hello_rabbitmq_jndi.properties, qpid-client-0.30.jar, qpid-common-0.30.jar, wso2esb-rabbitmq-msmp-0.1.jar to %WSO2ESB_HOME%/repository/components/lib/ folder.
  2. Restart WSO2 ESB

Deploy the Synapse files for the Message Store and API samples:

  1. In RabbitMQ side you need to create a queue and 2 routing keys. I recommend you use the hello_rabbitmq_config_broker.json and import it from the RabbitMQ web admin console.
  2. Copy HelloRabbitMQMsgStore1.xml into %WSO2ESB_HOME%/repository/deployment/server/synapse-configs/default/message-stores/
  3. Copy HelloRabbitMQRest1.xml into %WSO2ESB_HOME%/repository/deployment/server/synapse-configs/default/api/

WSO2 ESB automatically will deploy these 2 synapse files and after that you are ready to send a message to WSO2 ESB and store this message in RabbitMQ side.

-end-