当前位置: 首页 > 知识库问答 >
问题:

运行integrat后activeMQ平稳关闭

宰父熙云
2023-03-14

我使用ActiveMQ使用mvn构建运行集成测试。这是我的pom。xml首先触发activemq,然后触发集成测试,以便它们可以使用上面的activemq实例传输消息。

它工作正常,但不能顺利关闭..当mvn构建结束并且所有测试都成功时,构建看起来很好。但是activemq在关闭时会显示以下错误:-

'[INFO] Apache ActiveMQ 5.7.0 (localhost, ID:LB3290FPF-54398-1427490319466-0:1) is shutting down
Exception in thread "ActiveMQ ShutdownHook" java.lang.NoClassDefFoundError: org/apache/activemq/transport/vm/VMTransportFactory
at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:750)
at org.apache.activemq.xbean.XBeanBrokerService.stop(XBeanBrokerService.java:91)
at org.apache.activemq.broker.BrokerService.containerShutdown(BrokerService.java:2303)
at org.apache.activemq.broker.BrokerService$6.run(BrokerService.java:2270)
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.transport.vm.VMTransportFactory
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:235)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227)
... 4 more
[INFO] Connector tcp://localhost:61616?useJmx=true&persistent=false Stopped'

有没有一种方法可以让Maven在maven构建完成时顺利关闭activeMQ而没有上述例外?以下是一些相关的详细信息:-

  1. activeMQ uri:tcp://localhost:61616?useJmx=false

共有2个答案

公良天逸
2023-03-14

集成测试完成后,您可以停止activemq实例。只需将以下几行添加到您的pom中。

<execution>
    <id>stop-activemq</id>
    <goals>
         <goal>stop</goal>
    </goals>
    <phase>post-integration-test</phase>
</execution>
诸葛煜
2023-03-14

您需要将< code > useShutdownHook = " false " 添加到< code >

示例配置:

<amq:broker useJmx="false" persistent="false" useShutdownHook="false">
...
</amq:broker>

参考:

类似线程:

活动 MQ 嵌入式代理,关闭挂钩中的异常

无法使用内置的BrokerService关闭嵌入式activeMQ服务。停止调用

希望有帮助。

 类似资料:
  • 问题内容: 一切都运行了好几天,但随后我无限期地挂在.get()上。无限期挂起发生的时间各不相同,但运行时间为24到72小时。 我怀疑这与Redis经纪人有关。in 的输出显示了大量的连接,这些连接的空闲数很高(请参见下文)。但是我不知道这是一个问题还是为什么这会导致Celery的.get()无限期挂起。 我已经确认这不是由长时间运行的任务引起的。我也运行,并在工作进程中的一个,但我不能够收集到任

  • 问题内容: 我有以下代码: 执行javascript函数后,动画会停止,但会突然停止。 我可以平稳地停止动画,以避免突然跳入,然后从停止的位置再次继续动画吗? 问题答案: 您不会喜欢这个答案,但现实是CSS3动画对于实现此目的并不是真正有用。为了完成这项工作,您需要在Javascript中复制很多CSS,这会破坏点(例如,在此密切相关的答案中,例如,[更改动画CSS3的速度?)。要真正使它平稳停止

  • 我们有两个应用程序,一个是用Tkinter接口开发的,另一个是用wxPython构建的。两者都相当复杂。运行完Tkinter应用程序后,我希望在Tkinter应用程序中选择一个按钮后运行wxPython应用程序。是否可以切换事件循环,以便Tkinter应用程序可以无缝切换到wxPython GUI? 而在:操作系统。系统('pythonwxgui.py') 最终的程序需要捆绑到一个用于多个操作系统

  • 我希望这段代码能有效地提高方向间转换的平滑度(一次只能使用一个键),这样我就可以使用多个键。问题是,每当我改变方向,“玩家”就会停下来,然后继续朝新的方向前进。我想让“玩家”在两个方向之间平稳过渡,而不必在按下新键之前完全释放活动键。 主要代码: 玩家等级代码: 提前谢谢!

  • 我在使用 ActiveMQ 时遇到了一些困难。我使用版本 5.5 设置了旧版 ActiveMQ 服务器。我还有一个较新的消息传递使用者,它运行版本 5.8,它需要使用来自旧服务器的消息。当我尝试在旧服务器中创建队列时,我没有收到任何错误消息,但也没有创建队列。我想也许有一些JMS选项在旧服务器中不受支持,但是我将JMS选项归结为“超时= x”而没有运气。 ActiveMQ 5.5不能与5.8交互有

  • 3.2 平滑关闭与重启 3.2.1 平滑关闭 平滑关闭是指服务进程在退出前的指定时间内完成以下收尾工作: 关闭所有打开的监听器 关闭所有空闲连接 等待所有连接变成空闲状态 注: 该功能不会尝试关闭或等待被劫持连接(如WebSockets),用户应该单独处理这些长连接(方法见3.2.3) 各系统平台均支持平滑关闭功能,使用也非常简单。 假设进程ID为1234,则用户可以通过以下命令执行平滑关闭: k