ActiveMQ 嵌入式代理,关闭挂钩异常

Kev*_*vin 3 java spring activemq-classic jms

使用嵌入式代理时,我在关机时收到以下错误:

Exception in thread "ActiveMQ ShutdownHook" java.lang.NoClassDefFoundError: org/apache/activemq/broker/BrokerService
Run Code Online (Sandbox Code Playgroud)

我可能配置错误吗?我在这里使用了 activemq 页面上详细说明的配置:

http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html

(底部标记为“使用 spring-2.0”的配置)。消息正在正确传递等,所以我不确定这个错误是否无害。

bsn*_*der 5

这是一个老问题,当 ActiveMQ 被嵌入并且没有 100% 正确配置时可能会发生。您链接的配置中唯一遗漏的是添加useShutdownHook="false"<broker>XML 配置的元素。下面是一个快速示例:

<amq:broker useJmx="false" persistent="false" useShutdownHook="false">
...
</amq:broker>
Run Code Online (Sandbox Code Playgroud)

这将禁用关闭挂钩并防止发生此问题。