Я новичок в Mule и пытаюсь выдвигать журналы в очередь ActiveMq, используя JMS appender. Я получал ошибку во время использования jms appender с Mule 4.3 < /p>
2025-06-05T07:02:25.588889200Z WrapperListener_start_runner ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.mom.JmsAppender for element JMS: java.lang.NoClassDefFoundError: javax/jms/JMSException java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2025-06-05T07:02:25.590884400Z WrapperListener_start_runner ERROR Unable to invoke factory method in class org.apache.logging.log4j.core.appender.mom.JmsAppender for element JMS: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.mom.JmsAppender java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.mom.JmsAppender
at [email protected]/org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:268)
at [email protected]/org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:140)
< /code>
Затем я провел некоторое исследование и нашел решение. Решением состояло в том, чтобы добавить папку Javax.jms-API.2.0.1.jar в Mule/Lib/Boot, и ошибка была разрешена.WrapperManager: Initializing...
Running Mule in testing mode
java.lang.module.ResolutionException: Modules javax.jms.api and jakarta.jms.api export package javax.jms to module org.apache.maven.resolver.transport.wagon
at java.base/java.lang.module.Resolver.resolveFail(Resolver.java:901)
at java.base/java.lang.module.Resolver.failTwoSuppliers(Resolver.java:815)
at java.base/java.lang.module.Resolver.checkExportSuppliers(Resolver.java:736)
< /code>
То, что я понял из этой ошибки, как javax.jms и jakarta.jms экспортируют один и тот же пакет, но я не использую зависимость Jakarta.jms в моем приложении Mule. Я не знаю, добавляет ли Mule 4.9 во время выполнения. < /P>
Итак, если я удаляю javax.jms-api jar из папки загрузки, то я получаю вышеупомянуту Мул 4.9.
4.0.0
com.mycompany
test
1.0.0-SNAPSHOT
mule-application
test
UTF-8
UTF-8
4.4.0-20230320
3.8.2
org.apache.maven.plugins
maven-clean-plugin
3.2.0
org.mule.tools.maven
mule-maven-plugin
${mule.maven.plugin.version}
true
org.mule.connectors
mule-http-connector
1.7.3
mule-plugin
org.mule.connectors
mule-sockets-connector
1.2.3
mule-plugin
org.apache.activemq
activemq-all
5.16.0
anypoint-exchange-v3
Anypoint Exchange
https://maven.anypoint.mulesoft.com/api/v3/maven
default
mulesoft-releases
MuleSoft Releases Repository
https://repository.mulesoft.org/releases/
default
mulesoft-releases
MuleSoft Releases Repository
default
https://repository.mulesoft.org/releases/
false
< /code>
jndi.properties
queue.testQueue=LogQueue2
java.naming.provider.url=tcp://localhost:61616
< /code>
log4j2.xml
< /code>
Этого достаточно, чтобы воспроизвести проблему. Но создайте приложение на основе Mule 4.9
Кто -нибудь может направить меня, как я могу решить эту проблему?
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/796 ... -export-pa
Мул 4.9 jms Приложение Ошибка: Модули javax.jms.api и jakarta.jms.api Экспортный пакет javax.jms to module org.eclipse.s ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Org.restlet.jee:org.restlet.ext.servlet Lib не поддерживает пакет и класс jakarta с Java 21
Anonymous » » в форуме JAVA - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-