骡子流和流量参考

时间:2012-06-12 13:43:49

标签: mule

我正在使用mule 3.2.1并且有四个主流和一个子流。在每个主流程中,我使用流参考调用子流。在子流程中,将创建多少个实例,因为我调用四次子流程?这种方法会出现任何性能问题或有任何错误吗?请建议我采用这种方法。

四个主流。

<flow name="DetailsFlow1" doc:name="DetailsFlow1">
    <inbound-endpoint address="${fd.address}" exchange-pattern="request-response" doc:name="Generic Point"/>
    <logger message="PAYLOAD #[payload]" level="INFO" doc:name="Logger"/>
    <cxf:jaxws-service port="80" serviceClass="com.integration.IFixedDepositDetails" mtomEnabled="true" enableMuleSoapHeaders="false" doc:name="SOAP"/>
    <choice doc:name="Choice">
        <when expression="oprationService == 'fd-con'" evaluator="ognl">
            <processor-chain>
                <component class="com.integration.impl.FixedDepositDetailsImpl" doc:name="Java"/>
                <flow-ref name="fdcasterflows1Flow1" doc:name="Flow Reference"/>                    
            </processor-chain>
        </when>
    </choice>        
</flow>


<flow name="DetailsFlow2" doc:name="DetailsFlow2">
<flow-ref name="fdcasterflows1Flow1" doc:name="Flow Reference"/>              
</flow>


<flow name="DetailsFlow3" doc:name="DetailsFlow3">
<flow-ref name="fdcasterflows1Flow1" doc:name="Flow Reference"/>              
</flow>


<flow name="DetailsFlow4" doc:name="DetailsFlow4">
<flow-ref name="fdcasterflows1Flow1" doc:name="Flow Reference"/>              
</flow>

一个子流程

 <sub-flow name="fdcasterflows1Flow1" doc:name="fdcasterflows1Flow1">
    <component class="com.GetDetails" doc:name="Java"/>
</sub-flow>

3 个答案:

答案 0 :(得分:0)

根据我对您上面提到的问题的理解,该组件是在Prototype范围内创建的。因此,将为组件的每个请求创建一个实例。

所以在上面的例子中,它是四个实例,因为子流被调用了四次。

如果对使用Component的子流的请求太​​多,那么肯定会有性能损失。因此,在这种情况下,您可以显示轮询的组件。

有关Mule网站的更多信息。 http://www.mulesoft.org/documentation/display/MULE3USER/Object+Scopes

希望这有助于..... :)。

答案 1 :(得分:0)

正如@ user1760178所说,将创建组件的四个实例,并且更好地使用池组件配置。但是,如果您的Java组件是无状态组件,那么将singleton范围与组件关联比将池组件更好。

答案 2 :(得分:0)

根据我对您上面提到的问题的理解,该组件是在Prototype范围内创建的。因此,将为组件的每个请求创建一个实例。

所以在上面的例子中,它是四个实例,因为子流被调用了四次。

如果对使用Component的子流的请求太​​多,那么肯定会有性能损失。因此,在这种情况下,您可以显示轮询的组件。