我收到此错误
无法显示ObjectMessage正文。原因:无法根据内容构建主体。可序列化的类不适用于代理。原因:java.lang.ClassNotFoundException:禁止的类com.company.data.TicketData!不信任此类可以序列化为ObjectMessage有效内容。请查看this,以获取有关如何配置可信类的更多信息。
我在代码中添加了System.setProperty("org.apache.activemq.SERIALIZABLE_PACKAGES","*");
,该代码调用了JMS的创建,但不起作用。
我还在cmd中设置了setx org.apache.activemq.SERIALIZABLE_PACKAGES "*"
,但仍然是相同的错误。
即使您检查了错误page。
它讨论了下载Apache ActiveMQ时不存在的环境脚本文件。
我该怎么办?? / config中有一些文件,但是我看不到如何启用它?为什么Apache的文档甚至不起作用?
答案 0 :(得分:0)
这是预期的。如果
,您的代理的Java运行时只能反序列化ObjectMessage。坦白说,您应该远离JMS ObjectMessage。前段时间在该区域中存在一个ActiveMQ错误,这是一个持续存在的安全漏洞。尝试将BytesMessage作为外部对象发送,或者也许将XML作为JSON格式将您的对象作为TextMessage发送。