在JMS1.1规范中规定了5种JMS消息类型,分别如下:
1.创建一个TextMessage
TextMessage message;
message = session.createTextMessage();
2.解包一个TextMessage
去解包一个TextMessage类型的消息,客户端可以使用Message.getText方法:
String stockInfo;
stockInfo = message.getText();
3.创建一个BytesMessage
byte[] stockData;
BytesMessage message;
message = session.createBytesMessage();
message.writeBytes(stockData);
4.解包一个BytesMessage
当接收到一个ByteMessage时,可以使用下面的方式来解包:
byte[] stockInfo;
int length;
length = message.readBytes(stockData);
消息体被拷贝到字节数组,客户端程序可以读取这个树组来解释数据。
5.创建一个MapMessage
MapMessage message;
message = session.createMapMessage();
...其他代码
message.setString("Name", "CN-Java");
message.setDouble("Value", stockValue);
message.setLong("Time", stockTime);
message.setDouble("Diff", stockDiff);
message.setString("Info", "Recent server announcement causes market interest");
6.解包一个MapMessage
stockName = message.getString("Name");
stockDiff = message.getDouble("Diff");
stockValue = message.getDouble("Value");
stockTime = message.getLong("Time");
如果你想得到整个元素的列表,可以使用MapMessage.getMapNames方法来获得。
7.创建一个StreamMessage
和MapMessage相似,一个应用程序可以按序列发送多个字段到一个消息中,这些字段都是原始类型的,要做这些,你可以使用一个StreamMessage,
message.writeString(stockName);
message.writeDouble(stockValue);
message.writeLong(stockTime);
message.writeDouble(stockDiff);
message.writeString(stockInfo);
8.解包一个StreamMessage
StreamMessage中的元素必须按照被写入的顺序读出:
stockName = message.readString();
stockValue = message.readDouble();
stockTime = message.readLong();
stockDiff = message.readDouble();
stockInfo = message.readString();
9.创建一个ObjectMessage
ObjectMessage message;
message = session.createObjectMessage();
message.setObject(stockObject);
10.解包ObjectMessage
去解包ObjectMessage,使用ObjectMessage.getObject得到对象,一但对象被取出来,客户端程序使用Java造型语句将对象还原成原始对象。
StockObject stockObject;
stockObject = (StockObject)message.getObject();
分享到:
相关推荐
**JMS消息类型** 1. **点对点消息**: 通过消息队列进行传输,适用于一对一通信。 2. **发布/订阅消息**: 通过消息主题进行传输,适用于一对多广播通信。 **发送JMS消息** 在Java中,我们通常使用`javax.jms....
### JMS消息类型 - **TextMessage**:包含纯文本内容。 - **ObjectMessage**:封装Java对象,但不保证跨JVM的序列化兼容性。 - **BytesMessage**:用于传输字节流数据。 - **MapMessage**:键值对形式的数据,类似...
**JMS消息队列机制详解** Java Message Service(JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它定义了生产、发送、接收和读取消息的标准API,使得不同的消息中间件提供商可以提供兼容的实现,便于...
**Spring与JMS消息传递** 在Java世界中,Java Message Service (JMS) 是一个标准接口,用于在分布式环境中发送和接收消息。Spring框架提供了一种简单而强大的方式来集成JMS,使得开发者可以轻松地在应用中实现异步...
JMS消息类型 - **TextMessage**: 包含纯文本内容。 - **ObjectMessage**: 可以包含Java对象。 - **BytesMessage**: 用于传输二进制数据。 - **MapMessage**: 提供键值对的形式来传递数据。 - **StreamMessage*...
总结来说,ActiveMQ支持多种JMS消息类型,适应不同的数据传输需求。Spring JMS提供了便利的API和配置方式,使得开发人员能够方便地使用这些消息类型,并实现消息的发送和接收。在实际应用中,根据业务需求选择合适的...
MessageConverter是Spring JMS中的一个重要组件,它的主要职责是将Java对象与JMS消息类型(如TextMessage或ObjectMessage)之间进行转换。Spring默认提供了几种常见的MessageConverter,如SimpleMessageConverter和...
同时,理解JMS的核心概念,如消息模型(点对点、发布/订阅)、消息类型(文本、对象、文件等)以及事务管理也是非常重要的。 通过这种方式,Spring和WebLogic 9.2的集成使得应用能够利用JMS进行高效、可靠的通信,...
WebLogic Server是一款由Oracle公司提供的企业级应用服务器,它支持Java Message Service (JMS) 规范,允许在分布式环境中可靠地发送和接收消息。JMS是Java平台上的标准接口,用于实现应用程序间的异步通信。本文将...
#### 五、JMS消息类型 **5.1 文本消息(TextMessage)** 文本消息包含一个字符串体,可以用来传输简单的文本消息。 **5.2 字节消息(BytesMessage)** 字节消息可以包含任意字节流,适合传输二进制数据。 **5.3 ...
2. **JMS Messages**:JMS定义了消息的接口,包括各种类型的消息,如文本消息、对象消息等。客户端通过这些接口与提供者交互,发送和接收消息。JMS的目标是让客户端不依赖于提供者的特定实现,保持消息的通用性和...
**JMS消息类型** 1. **点对点(Queue)消息**:消息从一个生产者发送到一个消费者,适用于一对一通信。 2. **发布/订阅(Topic)消息**:消息发布到一个主题,多个订阅者可以接收到,适用于一对多广播。 **JMS消息...
2. **配置JMS属性**:在JMS请求中,你可以设置消息属性,如消息类型、优先级、时间戳等。这些属性可以根据JMS规范和具体实现进行设置。 3. **构造消息体**:编写消息内容,可以是纯文本、XML或JSON格式,根据你的...
8. **JMS消息类型**: JMS支持多种消息类型,包括文本消息(TextMessage)、二进制消息(BytesMessage)、对象消息(ObjectMessage)和流消息(StreamMessage),以满足不同数据格式的传输需求。 9. **事务管理**: ...
2. **消息类型支持**:实现了六种标准的JMS消息类型,包括`BytesMessage`, `MapMessage`, `ObjectMessage`, `StreamMessage`, `TextMessage` 和 `Message`。 3. **API实现**:遵循JMS标准API,确保与其他JMS兼容...
- `JMSType`:消息类型。 - `JMSRedelivered`:指示消息是否已经被重传。 - **属性**:除了消息头中定义的标准属性外,还可以添加自定义属性,以满足特定的应用需求。 #### 五、结论 综上所述,消息中间件...
#### 二、JMS消息类型 JMS定义了几种不同类型的消息,包括: 1. **TextMessage**:用于携带纯文本消息。 2. **BytesMessage**:用于携带任意字节流数据。 3. **MapMessage**:用于携带一系列名称/值对。 4. **...
7. **JMS消息类型**:JMS定义了五种不同类型的消息,以满足不同数据格式的需求: - **TextMessage**:包含文本字符串。 - **MapMessage**:包含一组键值对。 - **ObjectMessage**:用于传输序列化Java对象。 - *...
JMS提供了多种消息类型,包括TextMessage、ObjectMessage、BytesMessage和MapMessage,以适应不同数据格式的需求。开发者可以根据实际需求选择合适的类型。 总结来说,J2EE中的JMS是一个强大的通信机制,它通过解耦...
JMS消息有多种类型,包括文本消息、对象消息、映射消息、字节消息和流消息,以满足不同数据传输需求。消息头、消息属性和消息体构成了JMS消息的基本结构。 在实际应用中,常见的JMS实现包括Apache ActiveMQ、IBM ...