博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActiveMQ 初试
阅读量:6994 次
发布时间:2019-06-27

本文共 3950 字,大约阅读时间需要 13 分钟。

hot3.png

在activeMQ官网下载activeMQ应用,并解压:

171153_PTyu_2419190.png

进入bin文件夹,双击activemq.bat启动应用,发现无法启动,原来新版本需要点击win64文件夹里面的activemq.bat 。

171400_AodB_2419190.png

启动后打开ActiveMQ后台管理地址: http://localhost:8161/admin,新建一个Queue(队列)

171954_91XY_2419190.png

应用部署部分完成。

代码部分:

需要从下载的activeMQ把activemq-all-5.14.4.jar,activemq-broker-5.14.4.jar,activemq-client-5.14.4.jar,geronimo-j2ee-management_1.1_spec-1.0.1.jar,geronimo-jms_1.1_spec-1.1.1.jar,slf4j-api-1.7.13.jar复制到java项目里,并引用。

新建消息发送者类Sender:

package com.demo.activemq;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.DeliveryMode;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;public class Sender {    public static void main(String[] args) {        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,                ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");        Connection connection = null;        try {            connection = connectionFactory.createConnection();            connection.start();            Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);            Destination destination = session.createQueue("MyQueue");            MessageProducer messageProducer = session.createProducer(destination);            messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);            sendMessage(session, messageProducer);            session.commit();        } catch (JMSException e) {            e.printStackTrace();        } catch (Throwable e) {            e.printStackTrace();        } finally {            if (null != connection) {                try {                    connection.close();                } catch (JMSException e) {                    e.printStackTrace();                }            }        }    }    public static void sendMessage(Session session, MessageProducer producer) throws Exception {        for (int i = 1; i <= 5; i++) {            TextMessage message = session.createTextMessage("ActiveMq 发送的消息" + i);            // 发送消息到目的地方            System.out.println("发送消息:" + "ActiveMq 发送的消息" + i);            producer.send(message);        }    }}

 

新建消息接收者类Receiver:

package com.demo.activemq;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.MessageConsumer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;public class Receiver {    public static void main(String[] args) {        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,                ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");        Connection connection = null;        try {            connection = connectionFactory.createConnection();            connection.start();            Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);            Destination destination = session.createQueue("MyQueue");            MessageConsumer consumer = session.createConsumer(destination);            while (true) {                TextMessage message = (TextMessage) consumer.receive(100000);                if (null != message) {                    System.out.println("收到消息" + message.getText());                } else {                    break;                }            }        } catch (JMSException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            try {                if (null != connection)                    connection.close();            } catch (Throwable ignore) {                ignore.printStackTrace();            }        }    }}

然后运行就可以了。

转载于:https://my.oschina.net/u/2419190/blog/889119

你可能感兴趣的文章