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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

005_Queue消息模式发送字节消息

發布時間:2025/4/17 编程问答 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 005_Queue消息模式发送字节消息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 新建一個名為JMSActiveMQBytesMessage的Java項目, 同時拷入相關jar包

2. 編輯QueueBytesMessageProducer.java

package com.jms.activemq.qbm;import javax.jms.BytesMessage; import javax.jms.JMSException; import javax.jms.Queue; import javax.jms.QueueConnection; import javax.jms.QueueConnectionFactory; import javax.jms.QueueSender; import javax.jms.QueueSession; import javax.jms.Session; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory;public class QueueBytesMessageProducer {// 默認連接用戶名private static final String dftUsr = ActiveMQConnection.DEFAULT_USER;// 默認用戶密碼private static final String dftPwd = ActiveMQConnection.DEFAULT_PASSWORD;// 默認連接地址private static final String dftUrl = ActiveMQConnection.DEFAULT_BROKER_URL;// 隊列名稱private static final String queueName = "queueBytesMsg";public static void main(String[] args) {// 1. 創建一個連接工廠QueueConnectionFactory cf = new ActiveMQConnectionFactory(dftUsr, dftPwd, dftUrl);// 連接對象QueueConnection conn = null;// 會話對象QueueSession session = null;try {// 2. 創建連接conn = cf.createQueueConnection();// 3. 啟動連接conn.start();// 4. 創建會話session = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);// 5. 創建消息目的地。如果是點對點, 那么它的實現是Queue; 如果是訂閱模式, 那它的實現是Topic。這里我們創建一個名為queueBytesMsg的消息隊列。Queue queue = session.createQueue(queueName);// 6. 消息生產者QueueSender sender = session.createSender(queue);// 7. 創建文本消息和發送消息BytesMessage message = session.createBytesMessage();message.writeBytes("JMS BytesMessage消息類型".getBytes());sender.send(message);System.out.println("JMSDestination = " + message.getJMSDestination() + ", JMSDeliveryMode = " + message.getJMSDeliveryMode()+ ", JMSExpiration = " + message.getJMSExpiration() + ", JMSPriority = " + message.getJMSPriority()+ ",\r\nJMSMessageID = " + message.getJMSMessageID() + ", JMSTimestamp = " + message.getJMSTimestamp()+ ", JMSCorrelationID = " + message.getJMSCorrelationID() + ",\r\nJMSReplyTo = " + message.getJMSReplyTo()+ ", JMSType = " + message.getJMSType() + ", JMSRedelivered = " + message.getJMSRedelivered());} catch (JMSException e) {e.printStackTrace();}finally {if (session != null) {try {session.close();} catch (JMSException e) {e.printStackTrace();}}if (conn != null) {try {conn.close();} catch (JMSException e) {e.printStackTrace();}}}} }

3. 運行QueueBytesMessageProducer.java

4. 編輯QueueBytesMessageConsumer.java

package com.jms.activemq.qbm;import javax.jms.BytesMessage; import javax.jms.JMSException; import javax.jms.Queue; import javax.jms.QueueConnection; import javax.jms.QueueConnectionFactory; import javax.jms.QueueReceiver; import javax.jms.QueueSession; import javax.jms.Session; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory;public class QueueBytesMessageConsumer {// 默認連接用戶名private static final String dftUsr = ActiveMQConnection.DEFAULT_USER;// 默認用戶密碼private static final String dftPwd = ActiveMQConnection.DEFAULT_PASSWORD;// 默認連接地址private static final String dftUrl = ActiveMQConnection.DEFAULT_BROKER_URL;// 隊列名稱private static final String queueName = "queueBytesMsg";public static void main(String[] args) {// 1. 創建一個連接工廠QueueConnectionFactory cf = new ActiveMQConnectionFactory(dftUsr, dftPwd, dftUrl);// 連接對象QueueConnection conn = null;// 會話對象QueueSession session = null;try {// 2. 創建連接conn = cf.createQueueConnection();// 3. 創建會話session = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);// 4. 創建消息目的地。如果是點對點, 那么它的實現是Queue; 如果是訂閱模式, 那它的實現是Topic。這里我們創建一個名為queueBytesMsg的消息隊列。Queue queue = session.createQueue(queueName);// 5. 消息消費者QueueReceiver receiver = session.createReceiver(queue);// 6. 啟動連接conn.start();// 7. 接收消息BytesMessage message = (BytesMessage) receiver.receive(1000 * 3);byte[] bytes = new byte[(int) message.getBodyLength()];message.readBytes(bytes);System.out.println("接收: " + new String(bytes));System.out.println("JMSDestination = " + message.getJMSDestination() + ", JMSDeliveryMode = " + message.getJMSDeliveryMode()+ ", JMSExpiration = " + message.getJMSExpiration() + ", JMSPriority = " + message.getJMSPriority()+ ",\r\nJMSMessageID = " + message.getJMSMessageID() + ", JMSTimestamp = " + message.getJMSTimestamp()+ ", JMSCorrelationID = " + message.getJMSCorrelationID() + ",\r\nJMSReplyTo = " + message.getJMSReplyTo()+ ", JMSType = " + message.getJMSType() + ", JMSRedelivered = " + message.getJMSRedelivered());} catch (JMSException e) {e.printStackTrace();} finally {try {if (session != null) {session.close();}} catch (JMSException e1) {e1.printStackTrace();} finally {if (conn != null) {try {conn.close();} catch (JMSException e) {e.printStackTrace();}}}}} }

5. 運行QueueBytesMessageConsumer.java

總結

以上是生活随笔為你收集整理的005_Queue消息模式发送字节消息的全部內容,希望文章能夠幫你解決所遇到的問題。

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