`

jms消息类型(转)

JMS 
阅读更多

在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();



坏男孩 2007-08-06 15:45 发表评论
分享到:
评论

相关推荐

    WSO2 ESB 协议转换示例(http to jms)

    另一方面,JMS是一种API,允许应用程序创建、发送、接收和读取消息,通常用于分布式系统中的可靠通信。 要实现HTTP到JMS的转换,我们需要在WSO2 ESB中配置一个Mediator。Mediator是ESB中处理消息的组件,它根据预...

    JMS specification

    3. **消息类型**:JMS支持多种类型的消息,包括文本消息、映射消息、流消息等。 4. **事务支持**:为了确保数据完整性,JMS提供了事务处理的支持。 5. **安全性**:JMS支持身份验证和授权机制,可以实现安全通信。 ...

    消息中间件原理及JMS简介

    消息中间件原理及JMS简介,是IT领域中关于企业级软件集成的重要概念。中间件作为连接不同系统和应用的桥梁,它在分布式系统中扮演着至关重要的角色。本文主要探讨了消息中间件的原理,以及Java消息服务(JMS)这一...

    JMS 使用 ActiveMQ 传送文件

    3. **jms规范教程.pdf** - 这是一个关于JMS规范的教程,可能详细讲解了JMS接口、消息类型(如点对点和发布/订阅模型)、消息队列和主题等核心概念,为理解JMS和ActiveMQ的工作原理提供了基础。 综上所述,这个主题...

    jms代码

    从给定的代码片段来看,主要涉及到JMS消息驱动Bean(MDB)的实现,这在Java EE环境中是处理消息队列的一种常见方式。 ### JMS与消息驱动Bean JMS是一种Java平台中的消息中间件规范,允许分布式系统中的组件通过...

    spring整合jms+activemq

    在实际应用中,消息可能会包含不同类型的数据,例如JSON、XML等。Spring支持消息转换,允许我们将消息体自动转换为Java对象,或者将Java对象转换为消息体。这可以通过实现`MessageConverter`接口或使用内置的转换器...

    JMS与Spring之一(用JmsTemplate同步收发消息)

    JmsTemplate可以自动将各种类型如String、Byte[]等转换为响应的JMS消息对象类型,当然也可以自己写Converter转换复杂的消息。JmsTemplate常用的方法有send、convertAndSend、receive和convertAndReceive。 使用JMS ...

    Java网络编程--基于Spring的JMS编程

    2. **Message Listener Container**:Spring提供了两种类型的消息监听容器——`DefaultMessageListenerContainer`和`SimpleMessageListenerContainer`。它们负责管理消息监听器的生命周期,并自动处理JMS会话和消息...

    ApacheCamel-JMS-ActiveMQ

    同时,还需要定义消息的类型(如TextMessage、ObjectMessage等)以及如何将本地数据转化为可发送的消息。 2. **从MQ中读取信息保存到本地**:这是另一个关键的场景,涉及到从ActiveMQ的消息队列消费信息,并将其...

    Spring整合JMS(三)——MessageConverter介绍

    MessageConverter是Spring JMS中的一个重要组件,它的主要职责是将Java对象与JMS消息类型(如TextMessage或ObjectMessage)之间进行转换。Spring默认提供了几种常见的MessageConverter,如SimpleMessageConverter和...

    Jms基础知识整理(转)

    JMS定义了多种消息类型,如TextMessage、ObjectMessage、BytesMessage等。 - **Destination**:消息的目标,可以是Queue或Topic。Queue对应点对点模型,Topic对应发布/订阅模型。 - **Producer**:负责创建并发送...

    spring-jms

    1. **JMS模板(JmsTemplate)**: 这是Spring提供的一个核心工具类,简化了发送和接收JMS消息的过程。它提供了同步和异步发送消息的方法,支持点对点(P2P)和发布/订阅(Pub/Sub)模型。 2. **MessageListener容器*...

    Oracle Stream + AQ + JMS 搭建步骤

    7. 通过JavaJMS指定相应的结构数据消息订阅者(dev_aq_demo)和图片数据消息订阅者(file_aq_demo)将对应消息队列中的AQ消息出队,通过JPublisher转换的自定义载荷类型,解析为相应变更数据。 #### 五、总结 通过...

    ESB应用JMS_Topic

    JMS支持两种类型的消息模型:点对点(Point-to-Point, Queue)和发布/订阅(Publish/Subscribe, Topic)。 在本案例中,我们将深入探讨如何在JBoss ESB中利用JMS Topic实现消息通信。 #### 二、JMS Topic应用场景 ...

    JMS与ActiveMQ

    根据消息主体的内容,JMS定义了几种消息类型,如TextMessage、ObjectMessage、MapMessage、BytesMessage、StreamMessage和无有效负载的Message。 **ActiveMQ详解** Apache ActiveMQ是基于JMS规范的开源消息中间件...

Global site tag (gtag.js) - Google Analytics