mirror of
https://github.com/apache/activemq-artemis.git
synced 2025-02-19 00:21:17 +00:00
https://issues.apache.org/jira/browse/ACTIVEMQ6-3 We are renaming packages from activemq6 to activemq as that's more generic and version independent The previous commit renamed the directories. On this commit now I'm changing the code. If we changed the code and the directories on the same commit git would remove and add a lot of files without recognizing the renames.
System Requirements: You will need JDK 1.6 and Maven to run this example. This example has been tested with Maven 2.2.1. It may or may not work with earlier or later versions of Maven. This is an example of mixing JMS producers and consumers with REST producers and consumers. The REST clients have been written in both Java using RESTEasy's client library and within the Python language. You will need Python 2.6.1 or higher to be able to run the Python clients. To run the example you will need 5 shell-script windows (or you'll need to run 4 processes in background) Step 1: $ mvn jetty:run This will bring up HornetQ and the HornetQ REST Interface. Step 2: $ mvn exec:java -Dexec.mainClass="RestReceive" This will bring up a Java REST client that is continuously pulling the server through a consume-next (see doco for details). Step 3: $ mvn exec:java -Dexec.mainClass="JmsReceive" This will bring up a Java JMS consumer that is using the MessageListener interface to consume messages. It will extract a Order instance from the JMS Message it receives. Step 4: $ python receiveOrder.py This runs a very simple Python program to consume messages Step 5: Use one of these three commands to post messages to the system. One of the receive clients will consume the message. $ mvn exec:java -Dexec.mainClass="JmsSend" A JMS client will create an Order object and send it to the queue. You'll see one of the 4 clients receive the message. Notice that the REST clients automatically cause the Order object to be transformed on the server and passed as XML to the REST client. $ mvn exec:java -Dexec.mainClass="RestSend" THis is a REST client that uses the Acknowledgement protocol to receive a message from the queue. $ python postOrder.py This is a Python client that posts one message to the queue RESTfully (of course ;) )