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();
}
}
}
點對點消息傳送模型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.