0

嗨,我正在使用 mule,并且我正在使用 JMS 入站来监听特定队列。我想以这样一种方式配置我的 JMS,如果我从 Active MQ 推送具有特定关联 ID 的数据,并且该关联 ID 已在 Mule JMS Inbound 中配置。它只会监听和投票。请分享一些 JMS XML 配置以便更好地理解。

4

1 回答 1

1

在 JMS 入站中调用了一个过滤器jms:selector,用于根据其属性选择特定类型的消息

现在,正如您所说,您正在从具有特定关联 ID 的 ActiveMQ 推送消息,因此,您可以根据该特定关联 ID 选择要在 Mule 中使用的消息,如下所示:-

<jms:inbound-endpoint queue="reply"
        connector-ref="Active_MQ" exchange-pattern="one-way"
        doc:name="JMS-REPLY"/ >
    <jms:selector expression="JMSCorrelationID='your corelation id'"/>
</jms:inbound-endpoint>

您可以看到,这里的示例:- Mule request-reply 消耗 JMS 回复队列中的所有消息

但是,我再次建议您不要过滤基于消息的关联 ID,如果您推送的消息中未定义该关联 ID,或者您未设置为静态 ID,则如果关联 ID 不同,它可能无法使用。

因此,我建议您根据消息优先级过滤消息,这是过滤 JMS 消息的最佳方式。

以下是如何在 Mule 流本身中对 JMS 消息设置消息优先级并根据该优先级属性使用它:- Mule:JMS 回复队列使用所有消息。我想处理进入回复队列的消息

于 2015-07-04T10:37:31.443 回答