1. Download ACTIVEMQ
Go to official website download: http://activemq.apache.org/download-archives.html
2. Running ACTIVEMQ
Unzip Apache-activemq-5.9.0-bin.zip, and then double-click Apache-activemq-5.9.0\bin\activemq.bat to run the ACTIVEMQ program.
3. Create a project and run it in eclipse
If you are using a Maven project, configure it in Pom.xml
<dependency> <groupId>org.apache.activemq</groupId> <artifactid>activemq-all </artifactId> <version>5.9.0</version></dependency>
or create a project directly, import Activemq-all-5.9.0.jar, and its log dependency package
4. Create a message queue
Consumer.java
Package Com.panie.mq.queue;import Java.util.date;import Javax.jms.connection;import javax.jms.ConnectionFactory; Import Javax.jms.destination;import javax.jms.jmsexception;import javax.jms.mapmessage;import javax.jms.Message; Import Javax.jms.messageconsumer;import Javax.jms.messagelistener;import Javax.jms.messageproducer;import Javax.jms.session;import Org.apache.activemq.activemqconnection;import Org.apache.activemq.activemqconnectionfactory;public class consumer{public static void Main (string[] args) { String user = Activemqconnection.default_user; String password = Activemqconnection.default_password; String url = activemqconnection.default_broker_url; String subject = "TOOL. DEFAULT "; ConnectionFactory connectionfactory = new activemqconnectionfactory (user, password, URL); try {Connection Connection = connectionfactory.createconnection (); Connection.start (); Final Session Session = connection.createsession (boolean.true, Session.auto_acknowledge); Destination Destination = Session.createqueue (subject); Messageconsumer consumer = session.createconsumer (destination); Consumer.setmessagelistener (New MessageListener () {@Override Pub LIC void OnMessage (Message msg) {Mapmessage message = (mapmessage) msg; Date date = new Date (); try {System.out.println ("---received message:" +new Date (Message.getlong ("Count")); Session.commit (); } catch (JMSException e) {//TODO auto-generated catch block E.printstacktrace (); } } }); Thread.Sleep (10000); Session.close (); Connection.close (); } catch (Exception e) {//TODO auto-generated catch block E.printstacktrace (); } } }
Producer.java
Package Com.panie.mq.queue;import Java.util.date;import Javax.jms.connection;import javax.jms.ConnectionFactory; Import Javax.jms.destination;import Javax.jms.jmsexception;import Javax.jms.mapmessage;import Javax.jms.messageproducer;import Javax.jms.session;import Org.apache.activemq.activemqconnection;import Org.apache.activemq.activemqconnectionfactory;public class producer{public static void Main (string[] args) { String user = Activemqconnection.default_user; String password = Activemqconnection.default_password; String url = activemqconnection.default_broker_url; String subject = "TOOL. DEFAULT "; ConnectionFactory connectionfactory = new activemqconnectionfactory (user, password, URL); try {Connection Connection = connectionfactory.createconnection (); Connection.start (); Session session = Connection.createsession (Boolean.true, Session.auto_acknowledge); Destination destInation = Session.createqueue (subject); MessageProducer producer = Session.createproducer (destination); for (int i=0;i<=20;i++) {Mapmessage message = Session.createmapmessage (); Date date = new Date (); Message.setlong ("Count", Date.gettime ()); Thread.Sleep (1000); Producer.send (message); System.out.println ("--Send Message:" +date); } session.commit (); Session.close (); Connection.close (); } catch (Exception e) {//TODO auto-generated catch block E.printstacktrace (); } } }
Running these two methods, you can see in the console that the consumer output the message generated by the Producter
ActiveMQ Introductory Usage Examples