activemq 接受端 mapMessage.setLong()赋值引发的问题

林晴朗 发布于 2013/05/20 11:22
阅读 745
收藏 0

引发的异常: javax.jms.MessageNotWriteableException: Message body is read-only

经过查找得知activemq客户端接收到一个Message时,是read-only模式

Message read-only模式时set抛出MessageNotWriteableException;

现在原因已经找到,只是接下来我应该在配置文件中如何配置成 可读写模式。

加载中
0
逝水fox
逝水fox
消息被传递后,任何修改消息体的操作都应该抛出MessageNotWriteableException异常,这个是JMS的规定呢...
逝水fox
逝水fox
回复 @林文彬 : 除了clearBody()这个操作,但是明显不会符合你的意思
林晴朗
林晴朗
真是这样么?难道就没有可读写的操作。看来我只能想其他的办法解决业务问题了。
0
林晴朗
林晴朗
可以通过 message.clearBody() 来清除消息体;但在消费端,消息体是只读的,针对消息的写操作都会抛出 MessageNotWritableException 异常
返回顶部
顶部