设置 ActiveMQ Objectmessage 可从 Scala 序列化


在 ActiveMQ

版本更改(从 5.9.0 r4 到 r4)之后,有必要显式标记 ActiveMQ 可序列化的ObjectMessage,如下所述:http://activemq.apache.org/objectmessage.html。按照建议(-Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*")设置环境变量可以正常工作,但是,在我们的例子中,这不是一个优雅的解决方案。我需要从 Scala 源代码设置它。目前连接设置如下:

val properties = new java.util.Properties()
properties.setProperty(javax.naming.context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory")
properties.setProperty(javax.naming.context.PROVIDER_URL, "tcp://localhost:61616")
val context = new InitialContext(properties)
val topicConnection = context.lookup("ConnectionFactory").asInstanceOf[TopicConnectionFactory].createTopicConnection

我找不到可以插入建议factory.setTrustAllPackages(true)的地方.在我们的例子中,任何人都可以告诉如何做到这一点,或者如何从 Scala 设置org.apache.activemq.SERIALIZABLE_PACKAGES环境变量?谢谢!

我刚刚添加了以下静态代码行,它可以工作:

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

最新更新