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消息模式发送字节消息相关推荐
- 008_Queue消息模式发送映射消息
1. 新建一个名为JMSActiveMQMapMessage的Java项目, 同时拷入相关jar包 2. 编辑QueueMapMessageProducer.java package com.jms. ...
- 006_Topic消息模式发送对象消息
1. 新建一个名为JMSActiveMQObjectMessage的Java项目, 同时拷入相关jar包 2. 编辑User.java package com.jms.activemq.tom;imp ...
- 004_Queue消息模式发送文本消息
1. 新建一个名为JMSActiveMQTextMessage的Java项目, 同时拷入相关jar包 2. 相关jar包可以在apache-activemq-5.16.1\lib目录下找到 3. 编辑 ...
- 微信服务号模版消息重复发送或消息接收不到的解决方案
微信服务号模版消息重复发送或消息接收不到的解决方案 问题描述 解决思路 问题描述 前段时间开发的服务号,有一个功能是主动向用户推送消息,经查看文档后,发现模版消息可以实现,于是按照文档向微信申请消息模 ...
- SpringBoot高级-消息-RabbitTemplate发送接受消息序列化机制
引入了spring-boot-starter-amqp模块,他引入了spring-messaging模块,包括引入了spring-rabbit模块,怎么配置使用呢,<dependency> ...
- 微信公众平台开发-消息管理-发送模板消息
一.模板说明 模板消息是在特定服务场景中向粉丝发送的消息,例如:信用卡刷卡通知,商品购买成功通知.不同的模板有不同的风格,某些字段可以由你来填充自己的内容(同时设定颜色),从而形成自己的消息.微信公众 ...
- 微信公众号开发-----微信模板消息接口-----发送模板消息
发送模板消息 接口调用请求说明 http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token= ...
- java 发送qq消息_php发送qq消息
function fcontents($url,$cookie){ $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_seto ...
- 命名管道的使用方式:消息模式/字节模式
转自:http://blog.sina.com.cn/s/blog_71b3a9690100usem.html 由于自己在写进程间通信的相关程序,查阅了关于资料.觉得命名管道方法实现通信是不错的选择, ...
最新文章
- rtmp 封包及消息
- 二级c语言基础知识pdf下载,全国计算机等级考试二级C语言公共基础知识.pdf
- JAVA-抽象类/类继承
- mysql与jmeter环境变量配置_Java开发技术大杂烩(一)之Redis、Jmeter、MySQL的那些事...
- Win10窗口侧边栏设置Win7模式
- 17-mysql-数据定义语言-ddl
- 苹果笔记本上的qq 查看看自己的QQ空间 ,打开多个QQ
- [osx] android studio下修改avd的hosts文件
- CocoaPods 报错 [!] Error installing JSONModel
- 热门好用的邮编查询API
- 物联网人工智能软件市场现状研究分析报告 -
- 纯css动画效果--animate的应用
- 生物信息学python脚本_使用Python/Biopython/Clustalw的生物信息学脚本,使用stdout迭代蛋白质目录...
- 三菱运动控制电子凸轮应用 三菱Q173系列的电子凸轮使用,包括凸轮参数设置
- Excel如何快速评定考核成绩等级
- 13.歌手大赛计分程序。
- RTP:一种实时应用的传输协议 (RFC-3550)
- 2021-06-27微信公众号模板消息群发
- QT在QML下实现多国语言翻译
- 搜索引擎使用的一些基本技巧
热门文章
- Java live template[在此处输入文章标题]
- 作为iOS开发者不得不follow的52人
- qooxdoo学习笔记一
- php作为弱语言是最棒的~哈哈哈哈
- Vue前端-Flask后台跨域访问问题的处理
- PAT A1065 A+B and C (64bit) (20 分)
- Java中的覆盖和隐藏以及final关键字
- 【原创】大数据基础之Hive(2)Hive SQL执行过程之SQL解析过程
- 记一次FastJSON和Jackson解析json时遇到的中括号问题
- String, StringBuffer, StringBuilder(转载)