0

私はラバ3.2.1を使用していて、4つのメインフローと1つのサブフローがあります。各メインフローでは、フロー参照を使用してサブフローを呼び出しています。サブフローでは、サブフローの4回呼び出しているときに、いくつのインスタンスが作成されますか?このアプローチでパフォーマンスの問題が発生したり、問題が発生したりしますか?このアプローチについて私に提案してください。

4つの主な流れ。

<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>

1つのサブフロー

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

3 に答える 3

0

上記の質問に対する私の理解から、コンポーネントはプロトタイプスコープで作成されます。そのため、コンポーネントのリクエストごとにインスタンスが作成されます。

したがって、上記の場合、サブフローが 4 回呼び出されるため、4 つのインスタンスになります。

コンポーネントを使用しているサブフローへのリクエストが多すぎる場合、パフォーマンスが確実に低下します。そのような場合、ポーリングされたコンポーネントを選択できます。

詳細については、Mule サイトを参照してください。 http://www.mulesoft.org/documentation/display/MULE3USER/Object+Scopes

お役に立てれば..... :)

于 2012-11-27T18:37:40.530 に答える