`

JMS 初体验

    博客分类:
  • JMS
 
阅读更多

 比较好的几个流程图:

   

   


 

 

主要的涉及到的概念  点对点(point - point) /  发布-订阅 (publisher/subscriber)



 消息的头的部分的设置(一下内容来源http://www.cnblogs.com/guthing/archive/2010/06/12/1757158.html

     我应用的是ActiveMQ 当我们打开管理界面(入口地址:http://localhost:8161)在此不多赘述

这是queues中的某一个 message 截图如下:

 

    设置总结:

    

   

 

 对于每个字段的讲解经看下面摘抄的内容:(内容对应上面的连接,此链接的博主很牛的,一整套的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和属性的用法

 --------------------------------------------------------------------------------------------------------------------------------

  • 大小: 52.6 KB
  • 大小: 85.4 KB
  • 大小: 7.1 KB
  • 大小: 41.3 KB
分享到:
评论

相关推荐

    javax.jms.jar

    Classes contained in javax.jms.jar: javax.transaction.xa.XAResource.class javax.jms.BytesMessage.class javax.jms.Message.class javax.jms.JMSException.class javax.jms.Destination.class javax.jms....

    javax.jms.jar下载

    javax.jms.BytesMessage.class javax.jms.Connection.class javax.jms.ConnectionConsumer.class javax.jms.ConnectionFactory.class javax.jms.ConnectionMetaData.class javax.jms.DeliveryMode.class javax.jms....

    JMS(JMS(JMS(JMS(

    JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS

    PDS-17001_JMS583_Datasheet_(Rev._1.0)_JMS583_jmicron_jms583开发_

    JMS583芯片是现代高速存储解决方案的重要组成部分,它利用先进的USB 3.1 Gen 2和PCIe Gen3x2技术,为存储设备提供高速、低延迟的数据传输,广泛应用于各种存储设备的开发中,对于提升系统性能和用户体验有着显著作用...

    java.jms.jar JMS需要的JAR包

    `javax.jms.jar` 文件中包含了如`javax.jms.Queue`, `javax.jms.Topic`, `javax.jms.MessageProducer`, `javax.jms.MessageConsumer`, `javax.jms.ConnectionFactory`等关键接口,以及其他辅助类和异常类,开发者...

    jms-1.1.jar(jms工具jar包)

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它提供了一种可靠的消息传递机制,允许应用程序创建、发送、接收和读取消息。`jms-1.1.jar` 是一个包含了JMS 1.1...

    jms-1.1.jar

    3. 异步处理:对于耗时的操作,可以将任务封装成消息放入队列,由后台处理,提高用户体验。 4. 系统解耦:消息队列和主题允许系统组件独立开发和扩展,降低耦合度。 5. 故障恢复:消息持久化特性使得在系统故障后...

    JMS578多达13个固件打包升级工具包 可修改休眠时间

    文件包含: 13个不同固件 两个固件升级工具 其中一个是量产工具可以修改休眠时间和盒子信息 TRIM检查工具 有几个固件版本为全网首发,别人没有的资源 固件列表: JMS578_00.01.00.05 ...JMS578_254.02.03.09_NoUAS

    JMS 简介以及Weblogic配置JMS图解

    Java Messaging Service(JMS)是一种标准的API,用于在Java应用程序之间交换消息,特别是在分布式环境中。JMS提供了一种与平台无关的方式,使得应用程序可以与各种消息中间件提供商进行交互,就像JDBC允许Java应用...

    javax.jms-1.1.jar

    `javax.jms-1.1.jar` 是一个Java Message Service(JMS)的API库,它属于Java标准版(Java Standard Edition, Java SE)的一部分。JMS是Java平台上的一个规范,用于在分布式环境中进行异步消息传递。这个库主要用于...

    JMS消息模型 JMS学习.doc

    Java 消息服务(JMS,Java Message Service)是一种用于在分布式系统中进行异步数据交换的API,它为应用程序提供了标准的接口来发送和接收消息。JMS规范由JavaSoft(现为Oracle公司的一部分)制定,目的是促进不同...

    JMS578 windows烧录工具,JMS578FwUpdate,固件,相关文档

    JMicron JMS578 USB/SATA bridge JMS578介绍手册JMS578_Product+Brief.pdf JMS578固件(支持Android系统/linux系统) JMS578 windows的烧录工具和JMS578FwUpdate JMS578-Hardkenel-Release-v173.01.00.02-20190306....

    JMS

    **标题:“JMS”** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准API。它提供了一种面向消息中间件(Message-Oriented Middleware, MOM)的标准接口,使得应用...

    JBOSS建立JMS应用实例

    通过部署和运行MyTestWeb,可以进一步理解和体验JMS在实际应用中的工作流程。 总结来说,JBOSS中的JMS应用实例涉及了JMS的基本概念、JBOSST的配置、代码编写以及具体的应用场景。通过实践这些步骤,开发者可以掌握...

    USB3.0移动硬盘盒 JMS578 固件2018最新固件, G-Technology 移动硬盘盒固件 for JMS578

    2. 固件更新针对JMS578主控,旨在优化性能和用户体验。 3. 2018年的最新固件解决了休眠状态下指示灯常亮的问题,提升了用户体验。 4. 固件版本为85.02.00.01,代表了多次迭代和改进。 5. 文件“jms578 85.02.00.01 -...

    javax.jms包,sun的JMS接口规范包

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用集成的API,它定义了一组标准接口,允许应用程序创建、发送、接收和读取消息。`javax.jms`包是JMS规范的核心部分,包含了各种与消息传递...

    JMS demo 及 资料

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用集成的标准化接口,它允许应用程序创建、发送、接收和读取消息。JMS被设计用来在分布式环境中传递可靠的数据,使得不同系统之间可以进行...

    JMS入门文档,JMS入门文档

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它允许应用程序创建、发送、接收和读取消息,为分布式环境中的应用程序提供可靠的、基于消息的通信。JMS是Java企业...

    spring-jms源码

    《深入解析Spring JMS源码》 Spring JMS(Java Message Service)是Spring框架的一部分,它为Java消息传递提供了一种轻量级的抽象层,使得开发者能够方便地在应用程序中使用JMS。Spring JMS提供了对JMS API的高度...

Global site tag (gtag.js) - Google Analytics