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 发表评论

你可能感兴趣的:(JMS)