消息体,JMS API定义了5种消息体格式,也叫消息类型,也可以使用不同形式发送接收数据,并可以兼容现有的消息格式。包括:TextMessage、MapMessage、BytesMessage、StreamMessage和ObjectMessage。
下面介绍一下MapMessage在项目中的简单使用。
继上篇,代码只是部分改动。
改动部分:
QueueSender.java
//TextMessage message = session.createTextMessage("messsage--"+i);
MapMessage message = session.createMapMessage();
message.setStringProperty("extra"+i, "okok");
message.setString("message---"+i,"my map message==" +i);
QueueReceiver.java
Enumeration names = connection.getMetaData().getJMSXPropertyNames();
while(names.hasMoreElements()){
String name=(String) names.nextElement();
System.out.println("jmsx name==="+name);
}
while(i<3){
//i++;
//TextMessage message = (TextMessage) consumer.receive();
MapMessage message = (MapMessage) consumer.receive();
session.commit();
//System.out.println("收到消息:"+message.getText());
System.out.println("收到消息:"+message.getString("message---"+i)+", property=="+message.getStringProperty("extra"+i));
i++;
}
运行结果:
jmsx name===JMSXUserID
jmsx name===JMSXGroupID
jmsx name===JMSXGroupSeq
jmsx name===JMSXDeliveryCount
jmsx name===JMSXProducerTXID
收到消息:my map message==0, property==okok
收到消息:my map message==1, property==okok
收到消息:my map message==2, property==okok
---------------------
原文:https://blog.csdn.net/qwlzxx/article/details/76566562
相关推荐
JMS提供了多种消息类型,包括TextMessage、ObjectMessage、BytesMessage和MapMessage,以适应不同数据格式的需求。开发者可以根据实际需求选择合适的类型。 总结来说,J2EE中的JMS是一个强大的通信机制,它通过解耦...
消息体则承载实际的消息内容,JMS支持TextMessage、MapMessage、BytesMessage、StreamMessage和ObjectMessage等多种格式。 JMS架构包括了JMS客户端、非JMS客户端、消息、JMS提供者和被管理的对象。JMS客户端使用...
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准API。它允许应用程序创建、发送、接收和读取消息,为分布式计算环境提供可靠的中间件服务。JMS1.1是该规范的一个重要...
7. **消息类型**:JMS支持多种消息类型,如文本消息(TextMessage)、二进制消息(BytesMessage)、映射消息(MapMessage)和对象消息(ObjectMessage)。选择合适的消息类型取决于应用需求。 8. **异常处理**:在...
4. **消息类型**:JMS定义了四种消息类型:`TextMessage`(文本消息)、`ObjectMessage`(序列化Java对象)、`BytesMessage`(字节流)和`MapMessage`(键值对形式的数据)。 5. **事务管理**:JMS支持两种事务模式...
10. **消息类型**:JMS支持多种消息类型,包括TextMessage(文本消息)、ObjectMessage(序列化Java对象)、BytesMessage(二进制数据)、MapMessage(键值对形式的数据)和StreamMessage(流式数据)。 11. **事务...
报头包含路由信息,消息主体则携带应用程序的数据,有多种类型,如TextMessage、ObjectMessage、MapMessage、BytesMessage、StreamMessage和无有效负载的Message。 6. **JMS队列**:单个消费者接收消息的有序存储...
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它允许应用程序创建、发送、接收和读取消息,为分布式环境中的应用程序提供可靠的、基于消息的通信。JMS是Java企业...
- **消息体类型**:JMS定义了六种消息体类型,包括无消息体的Message、二进制流的StreamMessage、名值对的MapMessage、字符串的TextMessage、对象的ObjectMessage和BytesMessage,以适应不同数据格式的需求。...
JMS还定义了几个特定类型的消息接口,如`TextMessage`(用于文本数据)、`ObjectMessage`(用于Java对象)、`MapMessage`(用于键值对数据)和`BytesMessage`(用于二进制数据)。 4. **连接和会话**:`Connection`...
9. **消息类型**:JMS定义了几种不同类型的消息,包括文本消息(TextMessage)、二进制消息(BytesMessage)、对象消息(ObjectMessage)和映射消息(MapMessage),以适应不同类型的业务需求。 JMS 1.1 API文档的...
JMS提供了多种消息类型,如StreamMessage、MapMessage、TextMessage、ObjectMessage、BytesMessage和XMLMessage,以适应不同的数据格式需求。 2. **消息确认模式**:JMS支持多种确认模式,决定何时确认消息已被正确...
JMS定义了多种消息类型,如TextMessage、ObjectMessage、BytesMessage和MapMessage,以适应不同数据格式的需求。 消息队列(Queue)与主题(Topic)消息队列是点对点模型的核心,每个消息仅有一个消费者。消息在...
4. **消息类型**:JMS支持多种消息类型,包括`TextMessage`(文本消息)、`ObjectMessage`(Java对象)、`BytesMessage`(二进制数据)、`MapMessage`(键值对)和`StreamMessage`(流式数据)。在实际应用中,`...
6. Message:表示JMS中的消息对象,可以是TextMessage、ObjectMessage、BytesMessage、MapMessage等不同类型。 三、JMS 1.1关键特性 1. 持久化:JMS支持消息的持久化存储,即使在系统崩溃或网络故障后,未被消费的...
10. **消息类型**:JMS定义了几种不同类型的消息,如TextMessage用于文本消息,ObjectMessage用于Java对象,BytesMessage用于二进制数据,以及MapMessage用于键值对形式的数据。 在实际应用中,JMS常用于企业级的...
JMS定义了四种消息类型:TextMessage、ObjectMessage、BytesMessage和MapMessage,分别用于传输文本数据、序列化对象、原始字节和键值对数据。 **六、事务和持久性** JMS允许在消息发送和接收时使用事务,确保消息...
- **点对点消息**:如TextMessage、ObjectMessage、BytesMessage、MapMessage等,它们分别对应不同格式的数据。 - **持久化消息**:即使在发送后消费者不可用,消息也会被保存,直到消费者恢复或手动删除。 3. **...
**Java消息服务(Java Message Service,简称JMS)**是一种标准的应用程序接口(API),它允许应用程序在分布式环境中创建、发送、接收和读取消息。JMS被设计用来解决应用程序之间的异步通信问题,它是Java平台上的...