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消息模式发送字节消息相关推荐

  1. 008_Queue消息模式发送映射消息

    1. 新建一个名为JMSActiveMQMapMessage的Java项目, 同时拷入相关jar包 2. 编辑QueueMapMessageProducer.java package com.jms. ...

  2. 006_Topic消息模式发送对象消息

    1. 新建一个名为JMSActiveMQObjectMessage的Java项目, 同时拷入相关jar包 2. 编辑User.java package com.jms.activemq.tom;imp ...

  3. 004_Queue消息模式发送文本消息

    1. 新建一个名为JMSActiveMQTextMessage的Java项目, 同时拷入相关jar包 2. 相关jar包可以在apache-activemq-5.16.1\lib目录下找到 3. 编辑 ...

  4. 微信服务号模版消息重复发送或消息接收不到的解决方案

    微信服务号模版消息重复发送或消息接收不到的解决方案 问题描述 解决思路 问题描述 前段时间开发的服务号,有一个功能是主动向用户推送消息,经查看文档后,发现模版消息可以实现,于是按照文档向微信申请消息模 ...

  5. SpringBoot高级-消息-RabbitTemplate发送接受消息序列化机制

    引入了spring-boot-starter-amqp模块,他引入了spring-messaging模块,包括引入了spring-rabbit模块,怎么配置使用呢,<dependency> ...

  6. 微信公众平台开发-消息管理-发送模板消息

    一.模板说明 模板消息是在特定服务场景中向粉丝发送的消息,例如:信用卡刷卡通知,商品购买成功通知.不同的模板有不同的风格,某些字段可以由你来填充自己的内容(同时设定颜色),从而形成自己的消息.微信公众 ...

  7. 微信公众号开发-----微信模板消息接口-----发送模板消息

    发送模板消息 接口调用请求说明 http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token= ...

  8. java 发送qq消息_php发送qq消息

    function fcontents($url,$cookie){ $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_seto ...

  9. 命名管道的使用方式:消息模式/字节模式

    转自:http://blog.sina.com.cn/s/blog_71b3a9690100usem.html 由于自己在写进程间通信的相关程序,查阅了关于资料.觉得命名管道方法实现通信是不错的选择, ...

最新文章

  1. rtmp 封包及消息
  2. 二级c语言基础知识pdf下载,全国计算机等级考试二级C语言公共基础知识.pdf
  3. JAVA-抽象类/类继承
  4. mysql与jmeter环境变量配置_Java开发技术大杂烩(一)之Redis、Jmeter、MySQL的那些事...
  5. Win10窗口侧边栏设置Win7模式
  6. 17-mysql-数据定义语言-ddl
  7. 苹果笔记本上的qq 查看看自己的QQ空间 ,打开多个QQ
  8. [osx] android studio下修改avd的hosts文件
  9. CocoaPods 报错 [!] Error installing JSONModel
  10. 热门好用的邮编查询API
  11. 物联网人工智能软件市场现状研究分析报告 -
  12. 纯css动画效果--animate的应用
  13. 生物信息学python脚本_使用Python/Biopython/Clustalw的生物信息学脚本,使用stdout迭代蛋白质目录...
  14. 三菱运动控制电子凸轮应用 三菱Q173系列的电子凸轮使用,包括凸轮参数设置
  15. Excel如何快速评定考核成绩等级
  16. 13.歌手大赛计分程序。
  17. RTP:一种实时应用的传输协议 (RFC-3550)
  18. 2021-06-27微信公众号模板消息群发
  19. QT在QML下实现多国语言翻译
  20. 搜索引擎使用的一些基本技巧

热门文章

  1. Java live template[在此处输入文章标题]
  2. 作为iOS开发者不得不follow的52人
  3. qooxdoo学习笔记一
  4. php作为弱语言是最棒的~哈哈哈哈
  5. Vue前端-Flask后台跨域访问问题的处理
  6. PAT A1065 A+B and C (64bit) (20 分)
  7. Java中的覆盖和隐藏以及final关键字
  8. 【原创】大数据基础之Hive(2)Hive SQL执行过程之SQL解析过程
  9. 记一次FastJSON和Jackson解析json时遇到的中括号问题
  10. String, StringBuffer, StringBuilder(转载)