`

深入掌握JMS(六)消息头

    博客分类:
  • JMS
阅读更多

 一个消息对象分为三部分:消息头(Headers),属性 (Properties)和消息体(Payload)。对于StreamMessage和 MapMessage,消息本身就有特定的结构,而对于TextMessage,ObjectMessage和BytesMessage是无结构的。一个 消息可以包含一些重要的数据或者仅仅是一个事件的通知。

    消息的Headers部分通常包含一些消息的描述信息,它们都是标准的描述信息。包含下面一些值:

  JMSDestination
       消息的目的地,Topic或者是Queue。

  JMSDeliveryMode
        消息的发送模式:persistent或nonpersistent。前者表示消息在被消费之前,如果JMS提供者DOWN了,重新启动后消息仍然存在。后者在这种情况下表示消息会被丢失。可以通过下面的方式设置:
       Producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

       JMSTimestamp
       当调用send()方法的时候,JMSTimestamp会被自动设置为当前事件。可以通过下面方式得到这个值:
       long timestamp = message.getJMSTimestamp();

JMSExpiration
       表示一个消息的有效期。只有在这个有效期内,消息消费者才可以消费这个消息。默认值为0,表示消息永不过期。可以通过下面的方式设置:
       producer.setTimeToLive(3600000); //有效期1小时 (1000毫秒 * 60秒 * 60分)

  JMSPriority
       消息的优先级。0-4为正常的优先级,5-9为高优先级。可以通过下面方式设置:
       producer.setPriority(9);

  JMSMessageID
       一个字符串用来唯一标示一个消息。

  JMSReplyTo
       有时消息生产者希望消费者回复一个消息,JMSReplyTo为一个Destination,表示需要回复的目的地。当然消费者可以不理会它。

  JMSCorrelationID
       通常用来关联多个Message。例如需要回复一个消息,可以把JMSCorrelationID设置为所收到的消息的JMSMessageID。

  JMSType
       表示消息体的结构,和JMS提供者有关。

  JMSRedelivered
       如果这个值为true,表示消息是被重新发送了。因为有时消费者没有确认他已经收到消息或者JMS提供者不确定消费者是否已经收到。

    除了Header,消息发送者可以添加一些属性(Properties)。这些属性可以是应用自定义的属性,JMS定义的属性和JMS提供者定义的属性。我们通常只适用自定义的属性。

    后面会讲到这些Header和属性的用法。

分享到:
评论

相关推荐

    深入掌握JMS.doc

    深入掌握JMS,详细讲解JMS原理及JMS开发

    深入掌握JMS深入掌握JMS

    在了解了JMS的基础上深入的了解它,有实例代码,可以加深你对它的理解。

    深入掌握JMS——ActiveMQ 十一章

    深入掌握JMS——ActiveMQ 十一章pdf,收集整理

    深入掌握JMS-ActiveMQ

    JMS(Java Message Service) 即Java消息服务。它提供标准的产生、发送、接收消息的接口简化企业应用的开发。本资源为chm格式,深入介绍了ActiveMQ的应用。

    深入掌握 JMS(java message service)

    一篇深入的讲解了java message service技术的文档 ,希望对大家有所帮助

    深入掌握J2EE编程技术

    《深入掌握J2EE编程技术》全面介绍了JSP层,EJB层和EIS层的设计思想与编程技术,涉及的内容包括:JDBC,JNDI,LDAP,Servlet,JSP,Taglib,EJB,J2EE,Connector,SAX与DOM,RMI,CORBA,JavaMail和JMS。...

    深入掌握J2EE编程技术(卷一)

    本书全面深入地介绍了当今最热门的...为分开压缩的,必须两个都下载才能解压缩,上传大小的限制,不要怨我,呵呵,深入掌握J2EE编程技术(卷二) ,看我的其它资源里有,下载地址http://download.csdn.net/source/2242179

    深入掌握J2EE编程技术(卷二)

    本书全面深入地介绍了当今最热门的...为分开压缩的,必须两个都下载才能解压缩,上传大小的限制,不要怨我,呵呵,深入掌握J2EE编程技术(卷一) ,看我的其它资源里有,下载地址http://download.csdn.net/source/2242132

    《Java消息服务(第二版)》电子书

    本书深入浅出地讲解了JMS1.1规范的底层技术、Java类和接口、编程模型及其不同实现等Java消息服务(JMS)和消息传送机制关键技术。通过对支持点对点和发布/订阅“消息传送”的标准API的完全解读及具体实例,介绍了...

    java消息服务

    本书深入浅出地讲解了jms1.1规范的底层技术、java类和接口、编程模型及其不同实现等java消息服务(jms)和消息传送机制关键技术。通过对支持点对点和发布/订阅“消息传送”的标准api的完全解读及具体实例,介绍了...

    JBoss中文文档(pdf版)

    第1章,将涉及JBoss 4.0.x应用服务器的下载、安装以及运行。然后,第2章大体上给出JBoss应用服务器的目录结构、主要配置文件以及服务。最后,第3章介绍了本书待使用的、J2EE ...它将带您深入掌握JBoss应用服务器。

    J2EE软件工程师全部培训课程总结(205页)

    J2EE软件工程师全部培训课程总结几乎包括了JAVA程序员和JAVA软件工程师要掌握JAVA核心技术的全部内容,内容包括:UML、ORALCE、JDBC、JSP、AJAX、SERVLET、JavaScript、Struts、JSF、Hibernate3.0、Spring、JMS、CVS、...

    SpringBatch批处理 刘相编

    在帮助读者掌握Spring Batch框架基本功能、高级功能的同时,深入剖析了Spring Batch框架的设计原理,帮助读者可以游刃有余地掌握Spring Batch框架。  《Spring Batch 批处理框架》分为入门篇、基本篇和高级篇三部分...

    io:java io学习项目

    java io学习以io,nio为基础,netty为辅程序员素养:掌握面向对象的...能够使用网络框架如netty开发服务端程序掌握RPC框架的使用,比如RMI,Thrift,Dubbo掌握消息队列的使用,如JMS,ActiveMQ等掌握分布式缓存如memcac

    JBPM4工作流应用开始指南.rar

    209 10.3 如何在活动中调用EJB方法 214 10.4 使用jms活动 215 10.4.1 模拟JMS服务 217 10.4.2 JMS文本消息 219 10.4.3 JMS Object消息 220 10.4.4 JMS Map消息 222 10.5 历史会话监听链 223 10.6 自定义Web任务表单 ...

Global site tag (gtag.js) - Google Analytics