gpt4 book ai didi

java - ActiveMQ ObjectMessage 安全性不适用于带有 SERIALIZABLE_PACKAGES 变量的 Linux

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:03 27 4
gpt4 key购买 nike

正如我从 activemq object message security article 中读到的那样, 来自 activemq 5.12.2

ActiveMQ enforces users to explicitly whitelist packages that can be exchanged using ObjectMessages.

如文章所述,我将 -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*" 放入 ACTIVEMQ_OPTS 环境变量的环境脚本中,但错误仍然存​​在。

我在 windows 中修复它,但它在 linux 中不起作用。

有没有人有什么建议?

最佳答案

您拥有的属性(property)是正确的。加载该属性的源位于:

activemq-client/src/main/java/org/apache/activemq/util/ClassLoadingAwareObjectInputStream.java

您能否检查您使用的 ActiveMQ 客户端库版本是否正确 - 它需要大于或等于 5.12.2 或 5.13.0。

更广泛地说,在系统之间交换消息时,ObjectMessage 的使用通常应被视为一种反模式,因为它会将生产者和消费者代码锁定为使用包含消息负载类的完全相同版本的库(见 http://docs.oracle.com/javase/7/docs/platform/serialization/spec/version.html )。通常更喜欢文本或二进制有效负载;如果您必须序列化对象,请通过 Java 序列化以外的机制进行序列化,例如 Protocol Buffer ,它定义了版本化接口(interface)协定。

关于java - ActiveMQ ObjectMessage 安全性不适用于带有 SERIALIZABLE_PACKAGES 变量的 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35717571/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com