读书人

JMS轨范之JMS消息

发布时间: 2012-10-29 10:03:53 作者: rapoo

JMS规范之JMS消息

?

Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);// 创建目的地Destination destination = session.createQueue("JMS.DEMO");// 创建生产者MessageProducer publisher = session.createProducer(destination);// 设置传输模式publisher.setDeliveryMode(DeliveryMode.PERSISTENT);// 创建消息TextMessage message = session.createTextMessage("Test Message");// 发送消息message.setObjectProperty("myProp", new HashMap() { { this.put("key1", "value1"); this.put("key2", "value2"); }});publisher.send(message);?

3) 清除属性:

JMS不能清除单个属性,但可以通过Message.clearProperties()方法清除所有消息属性;

?

3、 消息体 :JMS提供了5种类型的消息体:

1) StreamMessage:消息体是Java流,写入和读出都是顺序的;

2) MapMessage:消息体包含key-value对,key为String,value为基本类型,可以通过迭代器访问;

3) TextMessage:消息体是String;

4) ObjectMessage:消息体是可序列化的Java对象;

5) BytesMessage:消息体是字节数组;

?

可以通过message.clearBody()来清除消息体;但在消费端,消息体是只读的,针对消息的写操作都会抛出MessageNotWritableException异常;

读书人网 >编程

热点推荐