1. //文本消息
  2. TextMessage textMessage = session.createTextMessage("文本消息");
  3. producer.send(textMessage);
  4. //键值对消息
  5. MapMessage mapMessage = session.createMapMessage();
  6. mapMessage.setLong("age", new Long(32));
  7. mapMessage.setDouble("sarray", new Double(5867.15));
  8. mapMessage.setString("username", "键值对消息");
  9. producer.send(mapMessage);
  10. //流消息
  11. StreamMessage streamMessage = session.createStreamMessage();
  12. streamMessage.writeString("streamMessage流消息");
  13. streamMessage.writeLong(55);
  14. producer.send(streamMessage);
  15. //字节消息
  16. String s = "BytesMessage字节消息";
  17. BytesMessage bytesMessage = session.createBytesMessage();
  18. bytesMessage.writeBytes(s.getBytes());
  19. producer.send(bytesMessage);
  20. //对象消息
  21. User user = new User("cjm", "对象消息"); //User对象必须实现Serializable接口
  22. ObjectMessage objectMessage = session.createObjectMessage();
  23. objectMessage.setObject(user);
  24. producer.send(objectMessage);
  1. if(m instanceof TextMessage){ //接收文本消息
  2. TextMessage message = (TextMessage)m;
  3. System.out.println(message.getText());
  4. }else if(m instanceof MapMessage){ //接收键值对消息
  5. MapMessage message = (MapMessage)m;
  6. System.out.println(message.getLong("age"));
  7. System.out.println(message.getDouble("sarray"));
  8. System.out.println(message.getString("username"));
  9. }else if(m instanceof StreamMessage){ //接收流消息
  10. StreamMessage message = (StreamMessage)m;
  11. System.out.println(message.readString());
  12. System.out.println(message.readLong());
  13. }else if(m instanceof BytesMessage){ //接收字节消息
  14. byte[] b = new byte[1024];
  15. int len = -1;
  16. BytesMessage message = (BytesMessage)m;
  17. while((len=message.readBytes(b))!=-1){
  18. System.out.println(new String(b, 0, len));
  19. }
  20. }else if(m instanceof ObjectMessage){ //接收对象消息
  21. ObjectMessage message = (ObjectMessage)m;
  22. User user = (User)message.getObject();
  23. System.out.println(user.getUsername() + " _ " + user.getPassword());
  24. }else{
  25. System.out.println(m);
  26. }

activemq 消息类型的更多相关文章

  1. Activemq消息类型

    Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...

  2. Activemq 消息类型 (转)

    Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...

  3. ActiveMQ之二--JMS消息类型

    1.前言 //发送文本消息 session.createTextMessage(msg); //接受文本消息 public void onMessage(Message msg) { TextMess ...

  4. 学习ActiveMQ(五):activemq的五种消息类型和三种监听器类型

    一.前面我们一直发送的是字符串类型,其实activemq一共支持五种消息类型: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者 ...

  5. ActiveMQ常见消息类型

    JMS由下面三部分组成:消息头.属性.消息体.其中消息体定义了五种消息体格式,也可以称为消息类型. JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage. ...

  6. JAVA的设计模式之观察者模式----结合ActiveMQ消息队列说明

    1----------------------观察者模式------------------------------ 观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的 ...

  7. JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用

    1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...

  8. Activemq消息确认机制 --转载

      转自:http://blog.csdn.net/czp11210/article/details/47022639 ActiveMQ消息传送机制以及ACK机制详解 AcitveMQ是作为一种消息存 ...

  9. ActiveMQ消息的延时和定时投递

    ActiveMQ对消息延时和定时投递做了很好的支持,其内部启动Scheduled来对该功能支持,也提供了一个封装的消息类型:org.apache.activemq.ScheduledMessage,只 ...

随机推荐

  1. centos7安装redis的正确姿势

    目前redis5已经发布,Redis 5 是 Redis 引入流数据类型(Stream data type)的第一个版本.按照官方的说法,不使用该特性的用户在生产环境中使用 Redis 5 会有更好的 ...

  2. 洛谷P5163 WD与地图

    只有洛谷的毒瘤才会在毒瘤月赛里出毒瘤题...... 题意:三个操作,删边,改变点权,求点x所在强连通分量内前k大点权之和. 解:狗屎毒瘤数据结构乱堆...... 整体二分套(tarjan+并查集) + ...

  3. (转)使用 Spring缓存抽象 支持 EhCache 和 Redis 混合部署

    背景:最近项目组在开发本地缓存,其中用到了redis和ehcache,但是在使用注解过程中发现两者会出现冲突,这里给出解决两者冲突的具体方案. spring-ehcache.xml配置: <?x ...

  4. chrome 显示图片遇到的问题,与 淘宝图片服务器 缓存 有关系

    最近发现使用淘宝的jae环境,一个 abc.jsp 地址,随机跳转到淘宝图片空间里任意的一张图片. 但在chrome浏览器发现一个奇怪的问题: 用户第一次访问 abc.jsp  -> 302 f ...

  5. 键盘监听事件KeyListener

    说明:按下实体按键,相应虚拟按键变绿色,释放按键,变白色.   public class Demo extends JFrame { private List<JButton> list; ...

  6. 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 ...

  7. Linux 命令详解(十一)Shell 解析 json命令jq详解

    前言 在自动化部署中涉及到shell脚本需要动态读取很多配置文件,最好是json格式. 更多jq信息: http://stedolan.github.io/jq/manual/ 一.根据key获取va ...

  8. xml总结(一 )

    一.了解 XML(eXtensive Markup Language)可扩展标记语言. XML是被用来传输和存储数据,焦点是内容,是对html的补充. HTML是将数据进行格式化显示.xml需要自定义 ...

  9. Kettle 中转换(transformation)的执行过程

    1,Spoon.java的main方法是整个Kettle运行的入口.当打开Kettle的设计器界面后,可以在其中设计作业和转换.这里讨论转换的执行过程. 2,设计好一个转换后,转换保存的本地文件是 . ...

  10. VS2015 与 Git 的简单使用

    前言 在白忙之中抽了点时间,记录了下 VS 与 Git 的简单使用. 在之前使用命令行的时候,提交或拉取代码时,总报错:(提取时遇到错误: Unsupported URL protocol),后来在网 ...