【问题标题】:WSO2 ESB, Using Aggregate mediator without send/call in iterate mediatorWSO2 ESB,在迭代调解器中使用没有发送/调用的聚合调解器
【发布时间】:2017-03-18 01:06:47
【问题描述】:

在 WSO2 ESB 中,我可以使用聚合调解器来聚合由迭代调解器拆分的消息(不使用发送或调用调解器将消息发送到外部端点)吗?
我已经尝试过了,但聚合调解器没有接收拆分消息..
任何帮助都深表感谢。

【问题讨论】:

    标签: wso2 wso2esb synapse


    【解决方案1】:

    我必须做同样的事情,如果你定义一个虚假的回应,我可以说它有效:

    迭代->序列

    • 对您的消息应用任何需要的转换
    • 将其定义为响应消息(将属性 RESPONSE 设置为 true)
    • 调用包含聚合中介的序列

    聚合

    • completeCondition : 将 min 和 max messageCount 设置为 -1
    • onComplete :一旦迭代将处理所有相关节点,您将收到所有片段

    【讨论】:

    • 感谢您的回复。我尝试将 RESPONSE 属性设置为 true。但它没有用。仅供参考,我的聚合调解器位于迭代调解器之后。
    • 另外,是否有必要从迭代调解器中调用包含聚合调解器的序列?我在聚合调解器中使用迭代调解器的 id..
    • 迭代中介器中的中介序列在新线程中执行。据我所知,您不能在迭代后在父线程中操作聚合,所以是的,您应该从迭代调解器内部调用包含聚合的序列。
    【解决方案2】:

    如果您只是尝试迭代地转换消息,那么您可以使用 ForEach mediator 而无需迭代和聚合中介。从 ESB 4.9.0 开始支持此功能

    【讨论】:

    • 实际上我在我的迭代器中有条件地调用了一个外部端点。即对于某些迭代端点将被调用,对于其他迭代它不会被调用。如您所知,无法在 foreach 调解器中调用端点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 2013-11-11
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多