项目中引入消息队列 ActiveMQ 造成 Tomcat 启动不了,一直处于假死状态,其相关配置如下:
<!-- 配置消息中间件ActiveMQ的连接工厂 -->
<bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="failover:${activemq_url}"/>
</bean>
原因解释:
上述配置的 property 中 brokenURL 的 value 的 failover 代表的意思是失效重连,Tomcat 在启动的时候会一直去连接 ActiveMQ,如果 ActiveMQ 不可用,这样就会导致 Tomcat 一直卡在那里。
解决方法:
一. 修改配置
1. 加上maxReconnectAttempts参数,其代表的意思是重连次数
<!-- 配置消息中间件ActiveMQ的连接工厂 -->
<bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="failover:(${activemq_url})?maxReconnectAttempts=10"/>
</bean>
2. 删除failover参数
<!-- 配置消息中间件ActiveMQ的连接工厂 -->
<bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${activemq_url}"/>
</bean>
二. 配置连接池(研究中)
不听乱世的耳语,只过自己想要的生活
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于