`
jibin6693923
  • 浏览: 13739 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

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 简单使用指南

    - **OpenJMS**:这是一个开源的JMS实现,遵循JMS 1.0.2规范,适合用于学习和研究JMS。 - **iLinkMQ**:由中国人开发的纯Java实现,完全支持JMS接口规范1.0.2,提供事务和可靠消息传输等功能,适用于企业级应用。 ...

    JBOSS建立JMS应用实例

    建议仔细阅读,结合实际操作进行学习。 六、MyTestWeb项目 这个项目的名称可能是包含一个或多个演示JMS功能的Web应用。可能包含了Web页面用于触发消息的发送,以及后台服务用于处理消息的接收和处理。通过部署和...

    JMS--J2EE培训材料

    通过本篇文章的学习,我们不仅了解了JMS的基本结构和开发实例,还深入了解了其高级接口、编程模型以及消息读取方式等内容。掌握JMS的核心概念和技术可以帮助开发者更好地构建复杂的企业级应用,提高系统的灵活性和可...

    JMS_ActiveMQ交流学习

    #### 六、JMS消息发送流程 以下是以ActiveMQ为例的JMS消息发送流程: 1. **创建连接** - 使用连接工厂创建连接,如`ActiveMQConnectionFactory`。 2. **创建会话** - 在连接的基础上创建会话,并设置事务支持和...

    JMS优秀硕士学位论文-目录

    根据提供的文件信息,我们可以梳理出一系列与JMS相关的硕士学位论文的研究方向及主要内容。JMS(Java Message ...通过对这些论文的学习和研究,可以全面了解JMS技术的最新发展动态及其在企业级应用中的重要作用。

    JMS简明教程--简体中文

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用集成的API...通过阅读"JMS简明教程.pdf",你可以进一步深化对JMS的理解,同时"中国java下载站.url"可能是获取更多Java资源和学习资料的链接。

    工作学习-消息中间件activeMQ学习总结

    六、学习MQ需要考虑的技术维度 学习MQ需要考虑的技术维度包括API发送和接收、高可用性、集群和容错配置、持久化、延时发送/定时投递等。此外,还需要学习MQ的工作流程和消息中间件的组成部分。 七、消息中间件的...

    Mule3.4入门学习

    本文将对Mule3.4进行入门学习,涵盖Mule环境搭建、Webservice的发布、JMS消息通信、ftp、File应用、协议转换等知识点。 一、Mule环境搭建 Mule环境的搭建需要JDK的支持,包括下载、安装、配置JDK。首先,需要下载...

    新手学习Java路线图

    - 掌握服务端消息传递机制,如JMS。 - 学习基于Web的服务技术,如WebService。 2. **面试技巧** - 学习如何准备Java相关职位的面试。 - 掌握面试中常见的问题及其解答技巧。 3. **就业指导** - 掌握求职过程...

    weblogic 学习资料大全

    WebLogic的主要功能包括:应用服务器、JMS消息队列、数据源管理、集群支持、安全管理、监控和诊断工具等。 二、WebLogic安装与配置 学习资料中可能包含WebLogic的安装步骤,包括下载、安装、配置环境变量等。配置...

    JBOSS_Esb学习资料

    7. **JMS路由**:《JBoss_ESB学习笔记9——第八个ESB应用JMS_Router.doc》和《JBoss_ESB学习笔记10——第九个ESB应用JMS_Topic.doc》涉及到了JMS(Java Message Service)在ESB中的应用,讲解了如何利用ESB进行消息...

    liferay 超级学习文档

    此外,Java EE的其他服务,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)和JPA(Java Persistence API)也常被用来实现业务逻辑和数据持久化。 三、Hibernate 整合 Hibernate 是一个流行的ORM(对象...

    六轴机械手臂3D图纸-Solidworks设计包含CAD图及文件清单.zip

    六轴机械手臂3D图纸_Solidworks设计包含CAD图及文件清单,可供学习及设计参考: 序号 代号(型号) 名称 数量 材料 电机配减速器 备注 1 LZ-DJ01-01.01 底座 1 45 机加工件 2 LZ-DJ01-01.02 电机 底座 1 45 机...

    JAVAEE 快速自学路线及详细的学习资源和方法

    该路线图分为六个模块,每个模块都提供了学习书籍和视频资源,学习者可以根据自己的需求选择合适的学习资源。 模块一:J2SE 基础 * Java 基础知识:Java 语法、面向对象、常见 API 集合框架 * Java 界面编程:AWT ...

    jboss6-jms-chat:添加基于http的简单Java EE 6 MDB和JMS队列生产者

    【标题解析】 "jboss6-jms-chat" 这个标题揭示了我们要讨论的是一个与...总结,"jboss6-jms-chat"是一个展示如何在Java EE 6的JBoss AS 6环境中使用MDB和JMS队列的项目,适合学习和实践Java企业级开发的异步消息处理。

    技术学习文档

    标题 "技术学习文档" 暗示这是一份与技术学习相关的资料,特别是与Java相关的,因为提供的压缩包内包含了一个名为"javaeetutorial6.pdf"的文件。这个文件很可能是Oracle公司发布的《Java EE Tutorial》第六版的电子...

    换个角度来思考:J2EE 学习导引(PDF)

    它基于Java SE标准,增加了企业级应用所需的组件和服务,如Servlets、JSP、EJB、JNDI、JMS、RMI等。本文档旨在提供一个J2EE的学习导引,帮助读者理解J2EE的核心技术和学习路径。 #### 二、学习路线图详解 J2EE的...

    j2ee学习经验和流程

    6. **其他API**:如JMS(Java消息服务)、JNDI(Java命名和目录接口)、JTA(Java事务API)等,都是J2EE应用开发中不可或缺的部分。 #### 五、实践项目的参与 理论学习之外,参与实际项目或完成一些小项目是非常...

    JBoss ESB 学习笔记

    - **重点**:学习如何使用JMS Router组件实现消息路由。 - **实现**:配置JMS Router,使其能够根据规则将消息路由到不同的目的地。 #### 十、第九个ESB应用JMS Topic - **重点**:使用JMS Topic组件实现发布订阅...

Global site tag (gtag.js) - Google Analytics