1

別のフローからフローまたはエンドポイントをプログラムで開始または停止する必要があります。これはできますか?メッセージが失われるリスクはありますか?

<flow name="control>
  <vm:inbound-endpoint path="in">
  <script:component>
    <!-- start/stop -->
  </script:component>
</flow>

<flow name="startable-stoppable>
  <any-transport:inbound-endpoint/>
  <component/>
</flow>
4

2 に答える 2

3

いくつかの調査の結果、私の場合の最良のオプションは、制御したいエンドポイントに関連付けられたコネクタを開始/停止することであることがわかりました。

<script:component>
  <script:script engine="groovy">
    muleContext.getRegistry().lookupConnector('connectorName').start() // or stop()
  </script:script>
</script:component>

このアプローチの欠点は、コネクタに関連付けられているすべてのエンドポイントが影響を受けることです。これが問題になる場合は、すべてのエンドポイントに独自のコネクタが必要です。

于 2012-10-25T23:06:25.730 に答える
0

JMXを使用してMule可動部分のライフサイクルを制御できます。JConsoleを使用して、スクリプト化されたコンポーネントからアクセスする必要のあるMBeanを見つけます。

于 2012-10-19T03:13:50.503 に答える