JMSAppender с MULESTUDIO
-
26-12-2019 - |
Вопрос
Я пытаюсь сделать доказательство концепции в MULESTUDIO 3.5.0, который требует JMSAppender для Log4j с помощью ActiveMQ.
Я добавил следующее на мой файл log4j.xml:
<appender name="jms" class="org.apache.log4j.net.JMSAppender">
<param name="InitialContextFactoryName" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory" />
<param name="ProviderURL" value="tcp://localhost:61616" />
<param name="TopicBindingName" value="logTopic" />
<param name="TopicConnectionFactoryBindingName" value="ConnectionFactory" />
</appender>
<root>
<appender-ref ref="jms"/>
</root>
.
Я добавил следующее на мой POM:
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.7.0</version>
</dependency>
.
Тем не менее, когда я строю и бегу, я получаю следующее исключение классов на запуск:
log4j: Class name: [org.apache.log4j.net.JMSAppender]
log4j: Setting property [initialContextFactoryName] to [org.apache.activemq.jndi.ActiveMQInitialContextFactory].
log4j: Setting property [providerURL] to [tcp://localhost:61616].
log4j: Setting property [topicBindingName] to [logTopic].
log4j: Setting property [topicConnectionFactoryBindingName] to [ConnectionFactory].
log4j: Getting initial context.
log4j:ERROR Error while activating options for appender named [jms].
javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.activemq.jndi.ActiveMQInitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.apache.activemq.jndi.ActiveMQInitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:674)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
.
Я не уверен, куда идти отсюда.Некоторые поисковые хиты говорят: «Вам понадобится файл jndi.properties» ... но я не знаю, что это значит.
Может ли кто-нибудь предоставить пошаговые инструкции о том, что мне нужно сделать, чтобы сделать это на работу?
Решение
Решение состоит в том, чтобы добавить библиотеку Core ActiveMQ к каталогу MULE / BOOT для сервера MULE для MULESTUDIO, например: C: \ MULESTUDIO \ Плагинов \ org.mule.tooling.server.3.4.1.ee_3.4.1.201312062152 \ Mule \ boot
GOTCHA В моем случае было то, что в то время как в коробке показано MULESTUDIO на версии 3.5.0, нажав на MULE-Project.xml показал, что студия на самом деле использовала 3.4.1 в качестве сервера.