如何在Mule私有流中获取调用者流名称

  • 本文关键字:获取 调用者 Mule mule
  • 更新时间 :
  • 英文 :


我有一个私有流,它是由许多使用flow-ref的公共流共享的。我希望在私有流中获得调用者流名称,使用MEL,使用Mule 3.3.0。这可能吗?

Mule在通过flow-ref调用私有流时不会给事件添加任何属性,所以你的选择是:

  • 在调用私有流之前,使用<set-variable>设置一个具有流名的变量,并使用#[flowVars.yourVariableName]读取该变量。
  • 使用调用流的入站端点作为判断谁在调用的方式。您可以使用#[message.inboundProperties.MULE_ENDPOINT]获得入站端点URL,也可以使用#[message.inboundProperties.MULE_ORIGINATING_ENDPOINT]获得其名称。
  • 创建一个实现FlowConstructAware的自定义MessageProcessor:这样您将获得流名称,并能够自动将其设置为MuleEvent消息上的调用变量。在所有父流中使用custom-processor元素,在flow-ref之前。

最新更新