OS:Windows
应用服务器:Wildfly 10
Java版本:8
我们的应用程序在与Internet连接隔离的远程环境中运行(它完全脱机)。它会持续运行,直到有任何新补丁发布到该服务器。在那种情况下,我们经常会遇到ActiveMQ Artemis服务器(在Wildfly 10中使用)的问题,该服务器无法从应用程序代码中访问,似乎正在关闭。但是请注意,Undertow服务器可以访问应用程序功能。
观察到,如果服务器连续运行30天以上,则会出现问题。目前,为了解决该问题,我们已被指示要定期重启应用。但是,寻找真正的根本原因以及解决方法。
例外:
javax.jms.JMSException: Failed to create session factory
at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:727)
at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createQueueConnection(ActiveMQConnectionFactory.java:284)
at
Caused by: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:778)
at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:724)
... 71 more
答案 0 :(得分:0)
如果可能,请尝试使用单独的activeMQ服务器。
这可能是一些内存泄漏问题,因为内置的wildfly可能没有回收一些堆。
确保的唯一方法是检查内存使用情况日志和/或以更多/更少的内存启动wildfly,以查看您的30天是随内存增加还是减少。
答案 1 :(得分:0)
信息不足,也许DEBUG级别的日志会显示更多信息。此错误是由Artemis JMS客户端实现(createConnectionInternal
)引发的。致电AMQ经纪人失败的原因可能是:-
Artemis经纪人未启动。验证服务器日志以确保代理正确启动
消息传递子系统和连接器配置问题。通过standalone.xml或domain.xml验证Artemis子系统配置。与jboss管理员最好地合作,以确保所有消息子系统都是正确的并且可以正常工作。