Вопрос

Я пытаюсь сделать доказательство концепции в 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 в качестве сервера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top