ActiveMQ点对点通讯,生产者-消费者
生活随笔
收集整理的這篇文章主要介紹了
ActiveMQ点对点通讯,生产者-消费者
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先引入pom依賴:
?? ??? ?<!--activemq的依賴 -->
?? ??? ?<dependency>
?? ??? ??? ?<groupId>org.apache.activemq</groupId>
?? ??? ??? ?<artifactId>activemq-all</artifactId>
?? ??? ??? ?<version>5.12.0</version>
?? ??? ?</dependency>
生產(chǎn)者Producter:?
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.Queue; import javax.jms.Session; import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory;public class Producter {private static final int SEND_NUMBER=5;public static void main(String[] args) throws JMSException {//構(gòu)造ConnectionFactory實(shí)例對(duì)象,此處采用ActiveMq的實(shí)現(xiàn)jar//ConnectionFactory:連接工廠。JMS用它創(chuàng)建連接ConnectionFactory connectionFactory=new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,ActiveMQConnectionFactory.DEFAULT_PASSWORD,"tcp://localhost:61616");//Connection:JMS 客戶端到JMS Privider的連接Connection connection =connectionFactory.createConnection();connection.start();//Session :一個(gè)發(fā)送或接收消息的線程Session session =connection.createSession(false, Session.AUTO_ACKNOWLEDGE);//Destination :消息的目的地,消息發(fā)送給誰Destination destination = session.createQueue("qushen-queue");//消息的發(fā)送者/生產(chǎn)者M(jìn)essageProducer producer =session.createProducer(destination);//設(shè)置不持久producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);//發(fā)送一條消息sendMessage(session,producer,"qushen");connection.close();}public static void sendMessage(Session session,MessageProducer producer,String msg) throws JMSException {TextMessage message=session.createTextMessage("Hello AcitiveMQ Msg:"+msg);producer.send(message);} }消費(fèi)者Consumer:
package com.qushen.acitivemq.consumer;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.ActiveMQConnectionFactory;public class Consumer {public static void main(String[] args) throws JMSException {//構(gòu)造ConnectionFactory實(shí)例對(duì)象,此處采用ActiveMq的實(shí)現(xiàn)jar//ConnectionFactory:連接工廠。JMS用它創(chuàng)建連接ConnectionFactory connectionFactory=new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,ActiveMQConnectionFactory.DEFAULT_PASSWORD,"tcp://localhost:61616");//Connection:JMS 客戶端到JMS Privider的連接Connection connection =connectionFactory.createConnection();connection.start();//Session :一個(gè)發(fā)送或接收消息的線程Session session =connection.createSession(false, Session.AUTO_ACKNOWLEDGE);//Destination :消息的目的地,消息發(fā)送給誰Destination destination = session.createQueue("qushen-queue");//消息的接受者/消費(fèi)者M(jìn)essageConsumer consumer =session.createConsumer(destination);while(true) {TextMessage message=(TextMessage) consumer.receive();if(null != message ) {System.out.println("收到消息:"+message.getText());}elsebreak;}}}?啟動(dòng)生產(chǎn)者之后啟動(dòng)消費(fèi)者輸出面板如下顯示:
?
總結(jié)
以上是生活随笔為你收集整理的ActiveMQ点对点通讯,生产者-消费者的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring boot 默认日志配置
- 下一篇: ActiveMQ的签收方式