懂视

什么是jms?jms定定义了哪些不同的消息正文格式

2024-11-30 12:10:11

Java消息服务(JMS)是一种Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。JMS是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS是与厂商无关的API,可以用来访问消息收发系统消息,类似于JDBC。JDBC是访问许多不同关系数据库的API,而JMS则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商都支持JMS,包括IBM的MQSeries、BEA的WeblogicJMSservice和Progress的SonicMQ等。JMS使得用户能够通过消息收发服务(有时称为消息中介程序或路由器)从一个JMS客户机向另一个JMS客户机发送消息。消息是JMS中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型:简单文本(TextMessage)、可序列化的对象(ObjectMessage)、属性集合(MapMessage)、字节流(BytesMessage)、原始值流(StreamMessage),还有无有效负载的消息(Message)。这些不同类型的消息可以满足不同的应用场景需求,例如,TextMessage适用于文本信息的传输;ObjectMessage可以用于复杂对象的传输;MapMessage则适用于键值对形式的数据传输;BytesMessage适用于二进制数据的传输;StreamMessage用于传输流数据;而无有效负载的消息则在某些特定场景下使用。总而言之,JMS提供了一种与厂商无关的API,使得开发者可以轻松地实现消息在不同应用程序之间的传输,而无需考虑底层平台的具体实现。这种松耦合的通信方式使得系统更加灵活和易于维护。