activemq 接受端 mapMessage.setLong()赋值引发的问题
引发的异常: javax.jms.MessageNotWriteableException: Message body is read-only
经过查找得知activemq客户端接收到一个Message时,是read-only模式
Message read-only模式时set抛出MessageNotWriteableException;
现在原因已经找到,只是接下来我应该在配置文件中如何配置成 可读写模式。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
可以通过 message.clearBody() 来清除消息体;但在消费端,消息体是只读的,针对消息的写操作都会抛出 MessageNotWritableException 异常
真是这样么?难道就没有可读写的操作。看来我只能想其他的办法解决业务问题了。
回复
除了clearBody()这个操作,但是明显不会符合你的意思
消息被传递后,任何修改消息体的操作都应该抛出MessageNotWriteableException异常,这个是JMS的规定呢...