1

最近、Mule 3.1.2 から 3.3.0 にアップグレードしました。JBoss 5.1 で戦争中に展開された Mule を使用しています。私たちのバックオフィス アプリケーションでは、Quartz インバウンド エンドポイントを使用し、さまざまなプロセッサを実行する多数のフローがあります。このように :

<flow name="ImportXXX">
    <quartz:inbound-endpoint repeatInterval="5000" startDelay="10000" jobName="QuartzImportXXX" >
        <quartz:event-generator-job>
            <quartz:payload>${XXX.depot} | ${archive}</quartz:payload>
        </quartz:event-generator-job>
    </quartz:inbound-endpoint>
    <component>
       ...
    </component>
    <component>
    ...
    </component>
</flow>

これに似た約 40 のフローがあります (プロセッサはクォーツ ペイロードに応じて異なることを行います)。

Mule 3.3.0 では、これらの各フローが開始するのに約 5 秒かかります。3.1.2 フローのまったく同じ設定では、すぐに開始されました (フローごとに 1/10 秒未満)。基盤となるプロセッサの実装も何も変更していません。これは純粋な移行です。特定のプロセッサをすべて削除し、1 行しか記録しない単一のプロセッサに置き換えようとしました。現在、各フローの開始は 1.5 秒に「短縮」されていますが、それでも 3.1.2 よりもかなり遅くなります。全体的に、フローとコンポーネントのロード数が増えるにつれて問題が大きくなります (フローの半分をコメントすると、1 つのフローの起動時間が 1 秒または 2 秒改善されます)。

これは、JBoss での戦争にデプロイされた場合に特有のようです。基本的な Maven アーキタイプから作成されたスタンドアロン Mule アプリでまったく同じ mule-config.xml を試してみたところ、すべてのフローが 3.1.2 のようにスムーズかつ迅速に開始されました。

Mule 3.3 でフローが初期化される方法に、これを説明できる変更はありますか? 何を確認または試すことができるかについて何か考えはありますか?

ご協力いただきありがとうございます、

ローラン

4

0 に答える 0