Owl*_*wlR 10 java activemq-classic jms classnotfoundexception
我希望看到已在ActiveMQ队列中排队的消息内容.我打开了web-console.(http:// localhost:8161/admin/queues.jsp)并点击了队列消息的message-id.它在"消息详细信息"窗口中给出了以下错误,而不是给出消息内容.
"javax.jms.JMSException:无法从内容构建正文.可序列化的类不可用于代理.原因:java.lang.ClassNotFoundException:"
这个异常的原因是什么?我需要做些什么来摆脱这个?
小智 5
正如 OwIR 提到的,您需要将包含类的 jar 文件的路径设置wrapper.java.classpath.3到%ACTIVEMQ_HOME%\bin\win64\wrapper.conf.
更新上述属性后,您可能会遇到以下异常
Serializable class not available to broker. Reason: java.lang.ClassNotFoundException: Forbidden class
Run Code Online (Sandbox Code Playgroud)
为了修复它,请将wrapper.java.additional.13属性设置为-Dorg.apache.activemq.SERIALIZABLE_PACKAGES="<choose_the_packages_set_it_here>"
您也可以将-Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*"其用作值,但使用通配符可能不安全。
这对我有用!希望对您有帮助
我使用 ActiveMQ 版本 5.8.0 看到了同样的错误
在我的例子中,这是一个转移注意力的问题,ActiveMQ 控制台无法反序列化消息,它不能访问该类所在的 jar,但消费者应用程序可以,并且消息会毫无问题地从队列传递到消费者。
我很想知道这里是否有解决该问题的方法(在控制台中查看消息),以及在最新版本的 ActiveMQ 中如何处理此问题。
| 归档时间: |
|
| 查看次数: |
5714 次 |
| 最近记录: |