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

activemq jms故障转移传输的wso2内联配置,wso2,jms,activemq,esb,failover,Wso2,Jms,Activemq,Esb,Failover,ActiveMQ的故障转移传输可以在URI中配置: 在代理服务中,您可以使用: <address uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.provider.url=failover:(tcp://localhost:61616)?startupMaxReconnectAttempts=10&amp;java.naming

ActiveMQ的故障转移传输可以在URI中配置:

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

<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"/>

这适用于一个配置参数。但是,我找不到一种拥有多个参数的方法。假设我还想配置timeout参数。我试过:

<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不支持使用“;”而不是将“&”作为分隔符

然后我试着

<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中传递多个参数?

您是否尝试使用&而不是raw&来验证xml?在我给出的示例中,我从未使用过raw&。