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.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;
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);
/* 创建一个消息队列 */
Queue queue = new ActiveMQQueue("message");
/* 点对点中的生产者 */
MessageProducer product = session.createProducer(queue);
/* 设置持久性 */
product.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
/* 创建一条消息 */
Message msg = session.createTextMessage("点对点");
product.send(msg);
/* 点对点中的消费者 */
MessageConsumer consumer = session.createConsumer(queue);
/* 设置监听事件 */
consumer.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
try {
System.out.println(((TextMessage) message).getText());
}
catch (JMSException e) {
e.printStackTrace();
}
}
});
/* 关闭连接 */
if (connection != null) {
consumer.close();
product.close();
session.close();
connection.close();
}
}
}
点对点消息传送模型
最新推荐文章于 2020-05-29 14:18:15 发布