ActiveMQ发送ObjectMessage

时间:2015-12-15 08:13:06

标签: security activemq

我正在使用ActiveMQ在我当前的项目中实现消息传递系统。我需要发送和接收Java对象而不是简单的文本或二进制消息。 Java对象(我的消息对象)根据需要实现Serializable接口。

ActiveMQ的最新版本增加了一些安全性,我需要设置一个允许包为described here的属性,但我还没有设法让它工作。我不确定需要添加哪个属性。

错误讯息:

  

不允许此类序列化。使用' org.apache.activemq.SERIALIZABLE_PACKAGES'添加包系统属性

2 个答案:

答案 0 :(得分:13)

您需要在运行jar时在环境变量中传递受信任的包,或者您可以通过添加以下代码行以编程方式执行此操作:

    System.setProperty("org.apache.activemq.SERIALIZABLE_PACKAGES","*");

我希望这会有所帮助

答案 1 :(得分:2)

在ActiveMQ配置中,添加connectionFactory.setTrustedPackages(Arrays.asList("java.lang","your packagename"));