0

特定のモデル内のすべてのサービスを開始および停止できるようにする必要があります. モデルはサービスの論理的なグループ化であると理解しています. したがって、JConsole からモデルを停止すると、すべてのサービスも停止することを期待していました.ただし、これは起こりません。上記を達成できる特定の方法はありますか?これを行う必要があるのは、1 つのサービス内にmule-configさまざまなサービス グループがあり、サービス グループを個別に開始または停止したいからです。

4

2 に答える 2

2

すべてのサービスを に設定して開始しinitialState="stopped"、必要に応じてオンにします。これを行う1つの方法は次のとおりです。

List<String> modelNames = getEnabledModelNames();

for (String modelName : modelNames) {

    try {
        Collection<Service> services = muleContext.getRegistry().lookupServices();
        for (Service service : services) {
            if (modelName.equals(service.getModel().getName())) {
                service.start();
                logger.debug("service started {}", service.getName());
            }
        }
    } catch (Exception e) {
        // throw exception;
    }
}
于 2011-10-27T17:07:37.690 に答える
0

これがうまくいったかどうかはわかりませんが、Mule 3.x では、焦点がモデルの使用から離れていることに注意してください (つまり、フローと構成パターンはフローを認識しません)。

Mule 3.x では、設定を複数のアプリケーションに分割し、これらの個々の Mule アプリケーションを個別にダウンおよびアップすることで、目的を達成することができます。

Mule 2.x では、1 つのオプションとして、実行中のインスタンス MBean をイントロスペクトします。モデルを表す MBean を見つけてから、このモデル内のサービスの MBean を見つける必要があります。そこから、サービスを開始/停止できます。

于 2011-08-19T00:40:37.000 に答える