【问题标题】:Publish message on multiple topic strings (IBM Integration Bus)在多个主题字符串上发布消息 (IBM Integration Bus)
【发布时间】:2016-10-30 21:21:28
【问题描述】:

我有一个场景,我将使用 MQ 输入节点接收消息,并且基于消息中存在的源系统的值,我需要形成主题字符串并发布消息。这就是我的流程的样子:

MQInput -> 计算 -> 发布

我使用以下方法填充 Topic 的值: SET OutputRoot.Properties.Topic = 'TopicName/' ||源名称;

如果消息包含一个源系统,这可以正常工作。

但是消息有可能包含多个源系统。是否可以使用上述命令在多个主题字符串上发布消息? (类似这样)

SET OutputRoot.Properties.Topic = 'Topic/' ||源名称1;

SET OutputRoot.Properties.Topic = 'Topic/' ||源名称2;

感谢任何建议。

【问题讨论】:

    标签: ibm-mq ibm-integration-bus


    【解决方案1】:

    您应该从具有不同主题字符串集的 Compute 节点传播 2 条单独的消息。

    您可以使用 PROPAGATE ESQL 语句传播消息而不返回。 所以你的代码应该是这样的:

    <Create message in OutputRoot>
    
    SET OutputRoot.Properties.Topic = 'TopicName/' || sourceName1;
    PROPAGATE DELETE NONE;
    
    SET OutputRoot.Properties.Topic = 'TopicName/' || sourceName2;
    RETURN TRUE;
    

    【讨论】:

      【解决方案2】:

      在属性中,每个属性只能设置一个值。

      要做你想做的事,你必须生成多条消息,这是通过使用 ESQL 中的 PROPAGATE 关键字来完成的。

      【讨论】:

        猜你喜欢
        • 2014-10-26
        • 1970-01-01
        • 2015-05-18
        • 1970-01-01
        • 2017-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多