首页 文章

WSO2 ESB发送到多个 endpoints

提问于
浏览
2

可以在代理服务中的 send 介体中将消息发送到多个 endpoints 吗?

来自WSO2 ESB Send Mediator文档的link在“语法”一章中说,如果要将消息发送到一个或多个 endpoints ,则使用以下内容:

<send>
    (endpointref | endpoint)+
</send>

endpointref令牌引用以下内容:

<endpoint key="name"/>

我尝试在send下包含两个 endpoints ,但第二个 endpoints 在保存代理服务时自动删除(在Developer Studio内部或直接在ESB Stratos界面中) . 我确实去了发送调解员的Synapse page,看看他们是否说了什么特别的,他们的格式说:

(endpointref | endpoint)?

现在假设这些字符代表正则表达式,?代表0或1次,是1次或更多次 . WSO2是否在Synapse Send Mediator之上实现了这个额外的“一个或多个 endpoints ”功能,或者只是文档页面上的错误 . 如果他们这样做了,那么使它工作的确切语法是什么?

谢谢!

3 回答

  • 0

    实际上,您可以使用Recipienlist endpoint将单个消息发送到多个 endpoints . 将收件人列表存储taht定义为localentry并将其作为 endpoints 密钥提供 .

  • 2

    你可以这样做:

    <send>
        <endpoint key="jmsMBendpoint1"/>
        </send>
                                         <send>
                                            <endpoint key="jmsMBendpoint2"/>
                                         </send>
    

    我使用过这种方法并且正在为我工作 .

  • 2

    您可以使用克隆介体发送到多个 endpoints ,并指定相应的 endpoints ,如下面的配置所示 .

    <sequence xmlns="http://ws.apache.org/ns/synapse" name="send_to_all">
       <clone sequential="false">
          <target endpoint="endpoint1"/>
          <target endpoint="endpoint2"/>
          <target endpoint="endpoint3"/>     
       </clone>
       <drop/>
    </sequence>
    

相关问题