日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

activeMQ发送与接受消息模板代码

發布時間:2024/8/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activeMQ发送与接受消息模板代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

發送著:

/*** */ package activemqAPI.helloworld;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.Session; import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory;/*** @author weijie** 2018年9月3日*/ public class Sender {public static void main(String[] args) throws JMSException {//第一步:建立ConnnectionFactory工廠對象,需要填入用戶名,密碼,以及連接地址,默認端口:61616(activemq.xml中可以改) ,均使用默認即可,tcp://localhost:61616ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER, ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://localhost:61616");//第二步:通過ConnectionFactory工廠對象我們創建一個Connection連接,并且調用Connection的start方法開啟連接,Connection默認是關閉的Connection connection = connectionFactory.createConnection();connection.start();//第三步:通過Connection對象創建Session會話(上見下文環境對象),用于接收消息,參數配置1為是否啟用事務,參數配置2為簽收模式,一般設置自動簽收 // Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); //收到消息后,要手動去簽收消息 Session session = connection.createSession(Boolean.TRUE, Session.CLIENT_ACKNOWLEDGE); //第四步:通過Session創建Destination對象 ,指的是一個客戶端用來指定生產消息目標和消費消息來源的對象,在PTP模式中,Destination被稱作Topic即主題,在程序中可以使用多個Queue和TopicDestination destination = session.createQueue("queue1 ");//第五步:我們需要Session對象創建消息的發送和接受對象(生產者和消費者)MessageProducer/MessageConsumerMessageProducer messageProducer = session.createProducer(destination);//第六步:我們可以使用MessageProducer的serDeliveyMode方法為其設置持久化特性和非持久化特性(DeliveryMode)messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);//第七步:最后我們使用JMS規范的TextMessage形式創建數據(通過Session對象),并用MessageProducer的send方法發送數據,同理客戶端使用receive方法接受消息TextMessage textMessage = session.createTextMessage();textMessage.setText("hello java");messageProducer.send(textMessage);//使用事務提交session.commit();if(connection != null) {connection.close();}} }

接收者:

/*** */ package activemqAPI.helloworld;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;/*** @author weijie** 2018年9月3日*/ public class Receiver {public static void main(String[] args) throws JMSException {//第一步:建立ConnnectionFactory工廠對象,需要填入用戶名,密碼,以及連接地址,默認端口:61616(activemq.xml中可以改) ,均使用默認即可,tcp://localhost:61616ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER, ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://localhost:61616");//第二步:通過ConnectionFactory工廠對象我們創建一個Connection連接,并且調用Connection的start方法開啟連接,Connection默認是關閉的Connection connection = connectionFactory.createConnection();connection.start();//第三步:通過Connection對象創建Session會話(上見下文環境對象),用于接收消息,參數配置1為是否啟用事務,參數配置2為簽收模式,一般設置自動簽收//三種簽收模式的優缺點//使用事務的方式進行消息的發送 // Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); //使用clent要手動去簽收,消息才能被消費Session session = connection.createSession(Boolean.TRUE, Session.CLIENT_ACKNOWLEDGE); //第四步:通過Session創建Destination對象 ,指的是一個客戶端用來指定生產消息目標和消費消息來源的對象,在PTP模式中,Destination被稱作Topic即主題,在程序中可以使用多個Queue和TopicDestination destination = session.createQueue("queue1 ");//第五步:我們需要Session對象創建消息的發送和接受對象(生產者和消費者)MessageProducer/MessageConsumerMessageConsumer messageConsumer = session.createConsumer(destination);//第七步:最后我們使用JMS規范的TextMessage形式創建數據(通過Session對象),并用MessageProducer的send方法發送數據,同理客戶端使用receive方法接受消息while(true) {TextMessage msg = (TextMessage)messageConsumer.receive();//手動簽收msg.acknowledge();System.out.println("收到的內容:"+msg .getText());if(msg == null)break;}if(connection != null) {connection.close(); }} }

總結

以上是生活随笔為你收集整理的activeMQ发送与接受消息模板代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。