ActiveMQ故障转移,JNDI,配置maxReconnectAttempts

时间:2018-06-28 07:32:07

标签: activemq jndi

我知道如何在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.*的值,但是似乎我不走运这个吗?

0 个答案:

没有答案