WMQ中基于内容的路由的选择器,其中有效负载具有命名空间

时间:2014-03-17 04:30:47

标签: ibm-mq mq

此问题与Websphere MQ有关。我有一个要求,我必须根据消息的内容路由消息。

我知道WMQ订阅中选择器的概念,并且我已经成功地基于消息头(使用MQRFH2)这样做了

我现在需要根据有效负载过滤消息,这些消息是XMLNSC并且具有与之关联的有效命名空间。

例如:

<?xml version="1.0" encoding="UTF-8"?> <ns0:test xmlns:ns0="abc.com/is/2009/schemas/envelope/"> <flag>Y</flag> </ns0:test>

如果仅在标志为“Y”时我必须接受消息,那么如何在我的订阅中设置选择器?

请告诉我。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

任何WebSphere MQ选择信息都必须位于消息头或消息属性中。 WMQ被调整为尽可能快地将消息移动到尽可能远的下游,并且除了传递它们之外不对消息有效负载做任何事情。基于消息体中的数据的任何功能都需要IBM的ESB解决方案之一,例如IIB,否则编写代码来检查有效负载并采取适当的措施。

如果可能,创建消息的应用程序应将选择字段放入消息属性中。如果这是不可能的,程序可以拦截消息,评估有效负载并设置属性,然后重新排队消息。