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. bzoj3451 Normal

    题意:点分治每次随机选重心,求期望复杂度. 发现一次点分治的复杂度就是点分树上每个节点的子树大小之和.(并没有发现......) 看这个. 注意这个写法有问题,随便来个菊花图就是n2了. 每一层点分治 ...

  2. Java中由常量类引发的思考

    我们都知道,定义一个常量类是十分简单的.首先差固件一个类,然后类中声明一些public修饰的静态常量.没错就这么简单: 写好之后,在其他地方使用的时候,直接类名.属性名就可以使用了. 而LZ现在想的是 ...

  3. react与umi

    我们知道umi 是一个编译工具,但它同时也是一个前端框架.它对社区的 webpack,react-router 等进行的封装, 使得我们可以基于它快速搭建一个 React 项目. 第一步:安装umi ...

  4. javascript面向对象精要第一章原始类型和引用类型整理精要

  5. NO.7:别让异常逃离析构函数

    1.析构函数绝对不要吐出异常,如果一个析构函数可能抛出异常,析构函数应该捕获任何异常,然后要么吞下它们或者退出程序 2.如果用户需要对析构内的可能抛出异常的操作做出反应,则应该将操作放入除析构函数外的 ...

  6. Makefile ------ $@ $^ %< 使用

    一步一步理解 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(he ...

  7. 用webstorm来开发微信小程序之less的配置

    1.安装less. 安装好node之后,打开运行-->cmd-->进入安装node的文件夹目录-->输入 npm install -g less. 然后自动就会在C:\Users\A ...

  8. Linux命令之less

    less命令 用处:查看文件,功能强大,随意浏览,查看之前不会预先加载文件 用法:less + 文件名    (按q退出) 示例: 一.查看文档内容 (我这里有一个profile的文件,我想查看里面的 ...

  9. JVM总结(二):JVM的内存分配策略

    这节我们总结一下JVM中的内存分配策略.目录如下: 内存分配策略 对象优先在新生代Eden分配 大对象直接进入老年代 长期存活的对象将进入老年代 动态对象年龄判定 空间分配担保 内存分配策略 Java ...

  10. Windows 上安装 Redis 及可能出现的错误和解决方法!

    前言 Redis(REmote Dictionary Server) 是一种以key-value写得存储系统.他是开源的ANSI语言编写的.遵守BSD协议.被称作“数据结构服务器”,因为它的值(val ...