我知道如何在maxReconnectAttemps
中为failover
协议配置ActiveMQ brokerUrl
,例如:
failover:(tcp://localhost:61616)?initialReconnectDelay=1000&maxReconnectAttempts=5&maxReconnectDelay=5000
我在Tomcat中运行的Web应用程序中使用ActiveMQ,并且已将ConnectionFactory配置为上下文文件中的JNDI资源,如下所示:
<Resource name="AMQ_QCF"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="failover:(tcp://localhost:61616)?initialReconnectDelay=1000&maxReconnectAttempts=5&maxReconnectDelay=5000"
/>
我真的不喜欢冗长的brokerUrl
,很难读,对于需要配置这些参数的sysadmin,他们很难修改。我真正想要的是将这些传输参数配置为:
<Resource name="AMQ_QCF"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="failover:(tcp://localhost:61616)"
initialReconnectDelay="1000"
maxReconnectAttempts="5"
maxReconnectDelay="5000"
/>
这有可能吗?为了完整起见,上述不起作用。我检查了ActiveMQ源代码,看是否有一种方法可以将其指定为transport.maxReconnectAttempts="5"
之类的东西,类似于如何设置prefetchPolicy.*
的值,但是似乎我不走运这个吗?