Настройка ActiveMQ Objectmessage, сериализуемого из Scala

После изменения версии ActiveMQ (с 5.9.0 r4 на r4) необходимо пометить ObjectMessage ActiveMQ сериализуется явно, как написано здесь: 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), Может ли кто-нибудь сказать, как это сделать в нашем случае, или как настроить org.apache.activemq.SERIALIZABLE_PACKAGES переменная окружения из Scala? Спасибо!

1 ответ

Решение

Я просто добавил следующую статическую строку кода, и она работает:

System.setProperty("org.apache.activemq.SERIALIZABLE_PACKAGES", """*""")
Другие вопросы по тегам