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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值