activemq 消息类型
- //文本消息
- TextMessage textMessage = session.createTextMessage("文本消息");
- producer.send(textMessage);
- //键值对消息
- MapMessage mapMessage = session.createMapMessage();
- mapMessage.setLong("age", new Long(32));
- mapMessage.setDouble("sarray", new Double(5867.15));
- mapMessage.setString("username", "键值对消息");
- producer.send(mapMessage);
- //流消息
- StreamMessage streamMessage = session.createStreamMessage();
- streamMessage.writeString("streamMessage流消息");
- streamMessage.writeLong(55);
- producer.send(streamMessage);
- //字节消息
- String s = "BytesMessage字节消息";
- BytesMessage bytesMessage = session.createBytesMessage();
- bytesMessage.writeBytes(s.getBytes());
- producer.send(bytesMessage);
- //对象消息
- User user = new User("cjm", "对象消息"); //User对象必须实现Serializable接口
- ObjectMessage objectMessage = session.createObjectMessage();
- objectMessage.setObject(user);
- producer.send(objectMessage);
- if(m instanceof TextMessage){ //接收文本消息
- TextMessage message = (TextMessage)m;
- System.out.println(message.getText());
- }else if(m instanceof MapMessage){ //接收键值对消息
- MapMessage message = (MapMessage)m;
- System.out.println(message.getLong("age"));
- System.out.println(message.getDouble("sarray"));
- System.out.println(message.getString("username"));
- }else if(m instanceof StreamMessage){ //接收流消息
- StreamMessage message = (StreamMessage)m;
- System.out.println(message.readString());
- System.out.println(message.readLong());
- }else if(m instanceof BytesMessage){ //接收字节消息
- byte[] b = new byte[1024];
- int len = -1;
- BytesMessage message = (BytesMessage)m;
- while((len=message.readBytes(b))!=-1){
- System.out.println(new String(b, 0, len));
- }
- }else if(m instanceof ObjectMessage){ //接收对象消息
- ObjectMessage message = (ObjectMessage)m;
- User user = (User)message.getObject();
- System.out.println(user.getUsername() + " _ " + user.getPassword());
- }else{
- System.out.println(m);
- }
activemq 消息类型的更多相关文章
- Activemq消息类型
Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...
- Activemq 消息类型 (转)
Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...
- ActiveMQ之二--JMS消息类型
1.前言 //发送文本消息 session.createTextMessage(msg); //接受文本消息 public void onMessage(Message msg) { TextMess ...
- 学习ActiveMQ(五):activemq的五种消息类型和三种监听器类型
一.前面我们一直发送的是字符串类型,其实activemq一共支持五种消息类型: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者 ...
- ActiveMQ常见消息类型
JMS由下面三部分组成:消息头.属性.消息体.其中消息体定义了五种消息体格式,也可以称为消息类型. JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage. ...
- JAVA的设计模式之观察者模式----结合ActiveMQ消息队列说明
1----------------------观察者模式------------------------------ 观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的 ...
- JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用
1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...
- Activemq消息确认机制 --转载
转自:http://blog.csdn.net/czp11210/article/details/47022639 ActiveMQ消息传送机制以及ACK机制详解 AcitveMQ是作为一种消息存 ...
- ActiveMQ消息的延时和定时投递
ActiveMQ对消息延时和定时投递做了很好的支持,其内部启动Scheduled来对该功能支持,也提供了一个封装的消息类型:org.apache.activemq.ScheduledMessage,只 ...
随机推荐
- centos7安装redis的正确姿势
目前redis5已经发布,Redis 5 是 Redis 引入流数据类型(Stream data type)的第一个版本.按照官方的说法,不使用该特性的用户在生产环境中使用 Redis 5 会有更好的 ...
- 洛谷P5163 WD与地图
只有洛谷的毒瘤才会在毒瘤月赛里出毒瘤题...... 题意:三个操作,删边,改变点权,求点x所在强连通分量内前k大点权之和. 解:狗屎毒瘤数据结构乱堆...... 整体二分套(tarjan+并查集) + ...
- (转)使用 Spring缓存抽象 支持 EhCache 和 Redis 混合部署
背景:最近项目组在开发本地缓存,其中用到了redis和ehcache,但是在使用注解过程中发现两者会出现冲突,这里给出解决两者冲突的具体方案. spring-ehcache.xml配置: <?x ...
- chrome 显示图片遇到的问题,与 淘宝图片服务器 缓存 有关系
最近发现使用淘宝的jae环境,一个 abc.jsp 地址,随机跳转到淘宝图片空间里任意的一张图片. 但在chrome浏览器发现一个奇怪的问题: 用户第一次访问 abc.jsp -> 302 f ...
- 键盘监听事件KeyListener
说明:按下实体按键,相应虚拟按键变绿色,释放按键,变白色. public class Demo extends JFrame { private List<JButton> list; ...
- CodeForces - 896A Nephren gives a riddle
A. Nephren gives a riddle time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- Linux 命令详解(十一)Shell 解析 json命令jq详解
前言 在自动化部署中涉及到shell脚本需要动态读取很多配置文件,最好是json格式. 更多jq信息: http://stedolan.github.io/jq/manual/ 一.根据key获取va ...
- xml总结(一 )
一.了解 XML(eXtensive Markup Language)可扩展标记语言. XML是被用来传输和存储数据,焦点是内容,是对html的补充. HTML是将数据进行格式化显示.xml需要自定义 ...
- Kettle 中转换(transformation)的执行过程
1,Spoon.java的main方法是整个Kettle运行的入口.当打开Kettle的设计器界面后,可以在其中设计作业和转换.这里讨论转换的执行过程. 2,设计好一个转换后,转换保存的本地文件是 . ...
- VS2015 与 Git 的简单使用
前言 在白忙之中抽了点时间,记录了下 VS 与 Git 的简单使用. 在之前使用命令行的时候,提交或拉取代码时,总报错:(提取时遇到错误: Unsupported URL protocol),后来在网 ...