是否有传递流量参考骡子流?

时间:2016-06-02 15:27:36

标签: mule

我在行动之前和之后都有一套共同的步骤。我想将流参考值传递给采用这些操作之前和之后的公共流程。

这可能是骡子吗?

为了清楚起见,我想要一个如下所示的流程:

CommonStep1 - > CommonStep2 - > [InjectableFlowHere] - > CommonStep 3

然后我可以将这个公共流传递给[InjectableFlowHere]组件,无论它是flowVariable还是消息上的属性,或者什么。

net-net 我想将一个组件依赖注入流中。

更新 我希望InjectableFlowHere成为流名称为

的flowRef
<flow-ref name="#[flowVars.Prefix]GetRequestFlow" doc:name="#[flowVars.Prefix]GetRequestFlow"/>

1 个答案:

答案 0 :(得分:4)

您可以将flow-ref设置为MEL表达式,如下所示:

<flow-ref name="#[flowVars.Prefix]-flow" doc:name="flow"/>

例如:

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.7.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
    <flow name="testFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
        <flow-ref name="flow-#[message.inboundProperties['http.query.string']]" doc:name="flow-1"/>
    </flow>
    <sub-flow name="flow-1">
        <logger message="1" level="INFO" doc:name="Logger"/>
    </sub-flow>
    <sub-flow name="flow-2">
        <logger message="2" level="INFO" doc:name="Logger"/>
    </sub-flow>
</mule>

传递1或2作为查询字符串将路由到相应的子流