我在AWS Elastic Beanstalk上托管了一个Spring Boot应用程序。自从我包含嵌入式ActiveMQ以来,该应用程序就不会在重新部署时退出-在尝试启动新部署的jar时,我收到有关已在使用的端口5000的错误。
我发现的唯一解决方法是每次重新部署后都要重新创建环境,这意味着停机时间很长。
我怀疑shutdown hook
的计时问题。
当我Ctrl-C本地应用程序时,它会在几秒钟的延迟后退出,但有一些例外情况:
javax.jms.JMSException: peer (vm://embedded#1) stopped.
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54) ~[activemq-client-5.15.10.jar:5.15.10]
...
Caused by: org.apache.activemq.transport.TransportDisposedIOException: peer (vm://embedded#1) stopped.
我的brokerUrl
设置为vm://embedded?broker.persistent=false,useShutdownHook=false
,尽管jConsole显示Broker/Embedded/Attributes/Persistent
是true
。
有任何提示吗?