`
zc985552943
  • 浏览: 291024 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Babe4ca6-5e6f-33aa-9078-762ee3ccfb7e
云计算--hadoop
浏览量:11866
5e98c2c1-2a82-3388-bc80-7fca0170bb12
redis解说
浏览量:27148
088014c7-4d3f-39ce-b72e-4ebe7046a134
MongoDB读书笔记
浏览量:16008
D2b74847-c860-3e26-96fe-3fa4498d6348
Maven读书笔记
浏览量:27237
688db20f-402d-3a1d-8188-d6153d6c7465
Java通信
浏览量:13678
社区版块
存档分类
最新评论

06_Java通信_JMS_详解消息

阅读更多

上节使用一个Chat的小例子说明了一下怎么使用ActiveMQ开发一个发布/订阅者模型。

前期回顾:05_Java通信_JMS_demo

这节来详细说一下一条消息的结构。


 

消息头

每一个JMS的消息都有一个固定格式的消息头,这些数据被提供set/get方法设置和获取。但是不是所有的消息头数据都需要设置,或者都能设置成功,部分是由JMS实现厂商设置好的。所以我们将这些消息头分为JMS自动分配消息头和开发者设置消息头。

下面是所有消息头的列表:


 

JMS自动分配消息头

JMSDestination:获得对象标识目的地:Topic或者queue
JMSDeliveryMode:获得消息的持久模式,如果是持久性,那么JMS提供者出现故障,该消息不会丢失,在服务器恢复后再次传送,非持久模式,如果JMS出现故障,该消息可能永久丢失
JMSMessageID:String类型的值,唯一标识一条消息
JMSTimestamp:在messageProducer在调用send()操作时自动设置,包含JMS提供者接收消息的时间
JMSExpiration:一个message对象的有效期,避免把过期的消息送给消费者
JMSRedelivered:消息被重新传送给消费者,如果该消息被重新传送JMSRedelivered消息头就为true,否则为false
JMSPriority:消息的优先级0-4普通;5-9加急

 

开发者设置消息头

JMSReplyTo:标明了JMS消费者应该应答的地址,在使用请求/应答模型时,通过这条消息头属性可以进一步实现生产者和消费者之间的去耦
JMSCorrelationID:用于将当前消息和先前的某些消息或者应用程序特定的ID关联起来
JMSType:标识消息结构和有效负载类型

 

消息属性

类似于消息头的附加信息,允许开发者添加不透明的附加信息。
类型:

应用程序特定属性

开发者提供,保存在message对象中,提供了多种类型的属性。属性如下



 

JMS定义的属性

JMS厂商提供特定属性

以上两种都是厂商提供绑定在消息头的附加信息

消息类型(有效负载)

Message接口是根据它们携带的有效负载种类来定义的
JMS提供了6个接口,来实现不同数据类型的负载



 PS:上面划的是Message接口,其他5个都是类。其实其他5个也是接口!

TextMessage表示消息是一个文本格式
StreamMessage表示是流格式
MapMessage表示以键值对的形式传递消息
ObjectMessage消息的信息是一个对象,这个对象必须能够序列化
ByteMessage表示消息是字节流作为有效负载

  • 大小: 20.9 KB
  • 大小: 34.7 KB
  • 大小: 36.5 KB
  • 大小: 71.4 KB
分享到:
评论

相关推荐

    JMS消息服务详解

    【JMS消息服务详解】 消息服务是一种在分布式环境中支持软件组件和应用程序之间松耦合通信的机制。这种通信模式允许组件或应用之间不需同时在线,数据可以是文本、数值,甚至在Java应用中可以包含对象。使用消息...

    mq_java_jar(无源码).zip

    《MQ与Java在LoadRunner中的应用详解》 在IT领域,性能测试是保障系统稳定运行的重要环节,LoadRunner作为一款强大的负载和性能测试工具,被广泛应用于各类软件系统的测试中。本文将深入探讨如何利用LoadRunner 11...

    JAVA消息服务JMS规范及原理详解.docx

    JAVA消息服务JMS,全称Java Message Service,是Java平台中的一种标准API,设计用于在分布式系统中实现应用程序之间的异步通信。通过JMS,开发者能够创建、发送、接收和读取消息,降低了不同组件之间的耦合度,提高...

    JAVA企业级API-JMS

    ### JAVA企业级API-JMS详解 #### 一、概述 **JAVA企业级API-JMS**是一种用于Java应用程序之间通信的标准接口,它支持消息传递模式,主要用于实现分布式系统中的消息通信。JMS允许开发者通过标准API与不同的消息...

    CZBK_Java就业班2020班_JavaEE全部PPT.rar

    【Java EE技术体系详解】 Java EE(Enterprise Edition),也被称为Java企业版,是Java平台针对企业级应用开发的一套标准规范。它由Sun Microsystems(现已被Oracle收购)于1999年推出,旨在为开发分布式、多层的...

    JAVA-EE.zip_JAVA EE

    7. **JMS(Java Message Service)**:JMS提供异步通信机制,允许应用程序通过消息队列发送和接收数据。 8. **JSF(JavaServer Faces)**:JSF是一种MVC框架,用于构建用户界面,提供组件库和事件处理机制。 9. **...

    J2EE.zip_J2EE_Java开发笔试题_笔试_笔试题

    **J2EE技术详解与笔试知识点** 在Java领域,J2EE(Java 2 Platform, Enterprise Edition)是一个广泛使用的开源框架,用于构建企业级的分布式应用程序。这份“J2EE.zip_J2EE_Java开发笔试题_笔试_笔试题”包含了一...

    JMS消息队列机制及案例

    **JMS消息队列机制详解** Java Message Service(JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它定义了生产、发送、接收和读取消息的标准API,使得不同的消息中间件提供商可以提供兼容的实现,便于...

    SYT_JMS_Chat:SYT JMS-聊天

    "SYT_JMS_Chat:SYT JMS-聊天" 这个标题揭示了项目的核心内容,即一个基于Java消息服务(JMS)实现的聊天应用。"SYT"可能是项目或团队的缩写,而"JMS-聊天"明确了这是一个使用JMS技术构建的用于实时通信的系统。 ...

    javax.jms_1.1.0.jar.zip

    【标题】"javax.jms_1.1.0.jar.zip" 是一个包含Java消息服务(Java Message Service,简称JMS)1.1版本实现的压缩文件。这个文件的核心是`javax.jms_1.1.0.jar`,它提供了JMS API的类库,允许Java开发者在分布式环境...

    消息中间件和JMS消息服务.pdf

    ### 消息中间件与JMS消息服务详解 #### 一、引言 随着分布式系统的规模和复杂度不断增加,传统的远程过程调用(RPC)中间件技术如CORBA、DCOM、RMI等逐渐暴露出局限性。这些技术通常采用同步通信方式,这导致客户和...

    基于JMS(Java Messaging Service)开发JAVAMAIL详解

    JMS,全称为Java Messaging Service,是Java平台上的标准接口,用于在分布式环境中交换异步消息。它提供了一种可靠的、高效的消息传递机制,使得应用程序可以发送和接收消息,而无需两者同时在线。JMS支持两种主要的...

    sun-jms.rar_jms_message queue

    《JMS与Message Queue技术详解》 在Java世界中,JMS(Java Message Service)是一种标准,用于在分布式环境中提供消息传递服务。它允许应用程序创建、发送、接收和读取消息,有效地支持异步通信模式。JMS的核心概念...

    java类库详解

    7. **JMS (Java Message Service)**:提供了一种标准的消息传递机制,允许Java应用进行异步通信。 8. **JAXP (Java API for XML Processing)** 和 **JAXB (Java Architecture for XML Binding)**:用于XML的解析、...

    Jms基础知识整理创建消息 -> 发送消息 -> 接收消息 -> 读取消息 ()

    【JMS基础知识详解:创建、发送、接收与读取消息】 Java消息服务(Java Message Service,简称JMS)是一个标准接口,它定义了应用程序如何创建、发送、接收和读取消息的标准API。JMS允许分布式系统中的不同组件通过...

    jms-1.1.jar

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。JMS 1.1是其一个重要的版本,它为分布式系统中的应用程序提供了一种可靠的消息传递机制,使得应用程序可以在...

Global site tag (gtag.js) - Google Analytics