WSO2 ESB代理-JMS消息选择器
我们让WSO2 ESB监听单个ActiveMQ队列。但是,我们希望在侦听JMS队列时配置多个代理。。但是,我们希望代理仅使用为其指定的消息。 是否有一种机制可以在ESB代理上设置JMS消息选择器,以便它只使用为其指定的消息 谢谢WSO2 ESB代理-JMS消息选择器,jms,wso2,selector,message,esb,Jms,Wso2,Selector,Message,Esb,我们让WSO2 ESB监听单个ActiveMQ队列。但是,我们希望在侦听JMS队列时配置多个代理。。但是,我们希望代理仅使用为其指定的消息。 是否有一种机制可以在ESB代理上设置JMS消息选择器,以便它只使用为其指定的消息 谢谢 拉吉夫·帕蒂尔(Rajiv Patil)AFAIK不可能进行这样的选择。然而,有两种可能的方法来实现上述目标 让每个代理读取所有消息,并选择要在代理本身内部处理的消息 使用一个工具来实现上述目标。一种可能的模式是,您可以选择消息并将消息定向到执行处理的所需序列或代理 是
拉吉夫·帕蒂尔(Rajiv Patil)AFAIK不可能进行这样的选择。然而,有两种可能的方法来实现上述目标
是的,您可以有多个代理服务侦听同一队列,每个代理服务都遵循某个JMS MessageSelector。您必须像这样为每个代理设置
transport.jms.MessageSelector
参数(值100是可变的,每个代理服务包含不同的数字):
这是在ActiveMQ 4.7和WSO2 ESB 4+上测试的
<parameter name="transport.jms.MessageSelector">account='100'</parameter>
// this will set a key/value pair as JMS message selector
// 100 should be a variable in your case
message.setStringProperty("account", "100");