2017-03-29 40 views
4

我想查看已在ActiveMQ队列中排队的消息的内容。 我打开网页控制台(http://localhost:8161/admin/queues.jsp),点击队列消息的message-id。它使我在“消息详细信息”窗口中出现错误,而不是提供消息内容。不可用于代理的可序列化类:在ActiveMQ中查看消息时发生java.lang.ClassNotFoundException

“的javax.jms.JMSException:无法从内容构建体 Serializable类不提供给经纪人原因: 抛出java.lang.ClassNotFoundException:”

这样做有什么原因例外&我需要做些什么来摆脱这种情况?

+0

看看http://codeomitted.com/failed-to-build-body-from-content-serializable-class-not-available-to-broker/ – Vihar

回答

1

我一直在使用ActiveMQ的版本5.8.0

在我的情况下看到同样的错误,这是一个red herring,在ActiveMQ的控制台无法反序列化一定不能访问这个类是在罐子里的消息,但消费者应用程序的确如此,并且消息从队列传递给消费者而没有问题。

我很想看看这里是否有解决方案(查看控制台中的消息),以及如何在更新版本的ActiveMQ中处理这个问题。

+3

原因是:自定义类不在活动mq代理的类路径。 我们可以通过在“ActiveMQ \ bin \ win64 \ wrapper.conf”文件中添加以下内容来将自定义类添加到代理的类路径。 ** wrapper.java.classpath.3 = <包含自定义类jar的jar的路径> ** (路径可以是任何具有自定义jar的东西) – OwlR

+0

感谢hyrahul64,这是一个很好的解决方案。其他选项将涉及到所有消息json样式消息,但我认为我更愿意添加自定义类,即使我猜它确实会增加维护问题。 – chim

相关问题