wso2 activemq jms故障转移传输的内联配置

时间:2018-06-15 13:54:13

标签: wso2 jms activemq esb failover

可以在URI中配置ActiveMQ的故障转移传输: http://activemq.apache.org/failover-transport-reference.html

在代理服务中,您可以使用:

<address uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.provider.url=failover:(tcp://localhost:61616)?startupMaxReconnectAttempts=10&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>

这适用于一个配置参数。但是,我找不到有多个参数的方法。假设我也想配置超时参数。我试过了:

<address uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.provider.url=failover:(tcp://localhost:61616)?startupMaxReconnectAttempts=10&amp;timeout=10&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>

这不起作用,因为timeout参数不是provider.url参数的一部分。

我也尝试过:

<address uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.provider.url=failover:(tcp://localhost:61616)?startupMaxReconnectAttempts=10;timeout=10&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>

这不起作用,因为activemq不支持使用';'而不是'&amp;'作为分隔符

然后我尝试了

<address uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.provider.url=failover:(tcp://localhost:61616)?startupMaxReconnectAttempts=10%26timeout=10&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>

这不起作用,因为wso2在将provider.url参数传递给activemq之前不会对其进行url解码。

如何在activeMQ的故障转移传输配置URI中传递多个参数?

0 个答案:

没有答案