`

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
分享到:
评论

相关推荐

    apache activeMQ之初体验(helloworld)

    在这个"apache activeMQ之初体验(helloworld)"中,我们将探索如何使用ActiveMQ进行基本的消息发布与订阅。 在消息中间件中,"Hello World"程序通常用于演示最基本的消息传递概念。ActiveMQ的"Hello World"程序主要...

    J2EE系统架构师参考手册

    书中还可能涉及了J2EE平台的关键组件和技术,如Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTA(Java Transaction API)等,以及如何使用这些技术来构建可复用、模块化和高性能的...

    128元尚硅谷Java视频教程_Spring Boot视频教程(下)整合篇

    4、尚硅谷-SpringBoot高级-缓存-@Cacheable初体验 5、尚硅谷-SpringBoot高级-缓存-缓存工作原理&@Cacheable运行流程 6、尚硅谷-SpringBoot高级-缓存-@Cacheable其他属性 7、尚硅谷-SpringBoot高级-缓存-@CachePut 8...

    Ejb 3 In Action

    #### 第二章:EJB初体验 - **基本概念介绍**:本章介绍了EJB的基本概念,包括会话Bean、消息驱动Bean等,并通过示例演示了如何创建简单的EJB应用程序。 - **开发环境搭建**:讲解了如何设置开发环境,以便于读者...

    J2EE架构师手册

    它包括一系列的API和服务,如Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等,这些组件共同为企业级应用提供服务器端功能,如数据访问、事务处理、安全性和可伸缩性。 在J2EE架构中,...

    Java入门学习指导之最佳方向(上)

    在进入Java编程世界之初,许多初学者可能会感到迷茫,不知道应该从哪个方向入手。本文将详细介绍Java学习的三个主要方向:桌面应用程序开发(C/S架构)、移动设备应用(J2ME)以及企业级应用开发(J2EE),并针对每个方向...

    Camel.in.Action

    Camel是一个旨在简化集成项目的框架,它使得开发者能够在处理复杂的企业级应用集成时保持高效和愉悦的工作体验。该框架自2007年初启动以来,尽管相对年轻,但已经发展成为一个成熟且活跃的开源项目。Camel遵循Apache...

    java优化

    本文旨在探讨一系列已被验证有效的Java性能优化技术,特别关注Servlet和JSP的性能提升,同时也提到了如何进一步优化EJB、JMS和JDBC等技术。 #### 二、理解Java性能挑战 Java设计之初就强调安全性与可靠性,这种...

    NB-mall.zip

    它提供了一套标准API和服务,如Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等,用于处理数据库连接、事务管理、安全性等方面。 2. **Servlet**: Servlet是JavaEE中处理HTTP请求的...

Global site tag (gtag.js) - Google Analytics