在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();
posted on 2007-08-06 15:45
坏男孩 阅读(4612)
评论(1) 编辑 收藏 所属分类:
java命令学习