package com.shine.test;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.Topic;
import org.apache.activemq.ActiveMQConnectionFactory;
public class ActiveMQ {
public static void main(String[] args) throws JMSException {
/* 工厂连接一个JMS */
ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = factory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
/* 创建一个消息发布 */
Topic topic = session.createTopic("message");
/* 发布者 */
MessageProducer product = session.createProducer(topic);
/* 设置持久性 */
product.setDeliveryMode(DeliveryMode.PERSISTENT);
/* 订阅者 */
MessageConsumer consumer = session.createConsumer(topic, null, false);
/* 设置监听事件 */
consumer.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
try {
System.out.println(((TextMessage) message).getText());
}
catch (JMSException e) {
e.printStackTrace();
}
}
});
/* 创建一条消息 */
Message msg = session.createTextMessage("发布/订阅");
product.send(msg);
}
}
JMS订阅/发布消息传送模型
最新推荐文章于 2019-09-20 18:42:04 发布