active mq 點對點模式 和 訂閱者模式簡單demo

active mq 整合   Spring  :https://www.cnblogs.com/xiaochangwei/p/5426639.htmlhtml

 

 

Queue Demo
QueueProducer Demoapache

//一、建立一個鏈接工廠對象,須要指定服務的ip及端口。
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.21.80:61616");
//二、使用工廠對象建立一個Connection對象。
Connection connection = connectionFactory.createConnection();
//三、開啓鏈接,調用Connection對象的start方法。
connection.start();
//四、建立一個Session對象。
//第一個參數:是否開啓事務。若是true開啓事務,第二個參數無心義。通常不開啓事務false。
//第二個參數:應答模式。自動應答或者手動應答。通常自動應答。
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//五、使用Session對象建立一個Destination對象。兩種形式queue、topic,如今應該使用queue
Queue queue = session.createQueue("test-queue");
//六、使用Session對象建立一個Producer對象。
MessageProducer producer = session.createProducer(queue);
//七、建立一個Message對象,可使用TextMessage。
/*TextMessage textMessage = new ActiveMQTextMessage();
textMessage.setText("hello Activemq");*/
TextMessage textMessage = session.createTextMessage("hello activemq");
//八、發送消息
producer.send(textMessage);
//九、關閉資源
producer.close();
session.close();
connection.close();服務器

 

 


QueueConsumer Demosession

//建立一個ConnectionFactory對象鏈接MQ服務器
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.25.161:61616");
//建立一個鏈接對象
Connection connection = connectionFactory.createConnection();
//開啓鏈接
connection.start();
//使用Connection對象建立一個Session對象
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//建立一個Destination對象。queue對象
Queue queue = session.createQueue("test-queue");
//使用Session對象建立一個消費者對象。
MessageConsumer consumer = session.createConsumer(queue);
//接收消息
consumer.setMessageListener(new MessageListener() {
    @Override
    public void onMessage(Message message) {
        //打印結果
        TextMessage textMessage = (TextMessage) message;
        String text;
        try {
            text = textMessage.getText();
            System.out.println(text);
        } catch (JMSException e) {
            e.printStackTrace();
        }tcp

    }
});
//等待接收消息
System.in.read();
//關閉資源
consumer.close();
session.close();
connection.close();ide

 

 


Topic Demo
TopicProducer Demo.net

//一、建立一個鏈接工廠對象,須要指定服務的ip及端口。
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.21.80:61616");
//二、使用工廠對象建立一個Connection對象。
Connection connection = connectionFactory.createConnection();
//三、開啓鏈接,調用Connection對象的start方法。
connection.start();
//四、建立一個Session對象。
//第一個參數:是否開啓事務。若是true開啓事務,第二個參數無心義。通常不開啓事務false。
//第二個參數:應答模式。自動應答或者手動應答。通常自動應答。
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//五、使用Session對象建立一個Destination對象。兩種形式queue、topic,如今應該使用topic
Topic topic = session.createTopic("test-topic");
//六、使用Session對象建立一個Producer對象。
MessageProducer producer = session.createProducer(topic);
//七、建立一個Message對象,可使用TextMessage。
/*TextMessage textMessage = new ActiveMQTextMessage();
textMessage.setText("hello Activemq");*/
TextMessage textMessage = session.createTextMessage("topic message");
//八、發送消息
producer.send(textMessage);
//九、關閉資源
producer.close();
session.close();
connection.close();htm

 

 


TopicConsumer Demo對象

//建立一個ConnectionFactory對象鏈接MQ服務器
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.21.80:61616");
//建立一個鏈接對象
Connection connection = connectionFactory.createConnection();
//開啓鏈接
connection.start();
//使用Connection對象建立一個Session對象
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//建立一個Destination對象。topic對象
Topic topic = session.createTopic("test-topic");
//使用Session對象建立一個消費者對象。
MessageConsumer consumer = session.createConsumer(topic);
//接收消息
consumer.setMessageListener(new MessageListener() {blog

    @Override
    public void onMessage(Message message) {
        //打印結果
        TextMessage textMessage = (TextMessage) message;
        String text;
        try {
            text = textMessage.getText();
            System.out.println(text);
        } catch (JMSException e) {
            e.printStackTrace();
        }

    }
});
System.out.println("topic消費者3啓動。。。。");
//等待接收消息
System.in.read();
//關閉資源
consumer.close();
session.close();
connection.close();

 

pom <dependency>     <groupId>org.apache.activemq</groupId>     <artifactId>activemq-all</artifactId> </dependency> ---------------------  做者:Francis-李鑫超  來源:CSDN  原文:https://blog.csdn.net/Francis123580/article/details/81902682  版權聲明:本文爲博主原創文章,轉載請附上博文連接!

相關文章
相關標籤/搜索