ActiveMQのバージョン変更(5.9.0 r4からr4への変更)の後に、http://activemq.apache.org/objectmessage.htmlと書かれているように、ActiveMQのシリアライズ可能なObjectMessage
を明示的にマークする必要があります。推奨環境変数(-Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*"
)を設定することはうまくいきますが、これは私たちの場合には優雅な解決策ではありません。 Scalaのソースから設定する必要があります。現在の接続はこのような何かを設定されていますActiveMQ Objectmessageを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
を設定する方法を教えてもらえますか?ありがとうございました!