1

コネクタ以外にも devkit で作成したいものがあります。それは可能ですか?最も単純な例は、「それ以外の場合」の選択ブランチを空にすることはできない No-Op を作成することです。また、フローの一部を一度に 1 回だけ実行できるようにするには、ロック スコープが役立つと思います。ありがとう!

4

1 に答える 1

2

構成フィールドのみで接続管理を行わない @Connector を作成することで、コンポーネントを作成できます。DevKit プラグインを使用している場合は、認証なしを選択できます。これにより、@Configuration 接続戦略を持つステートレス コネクタが作成されます。

また、コネクタ内に @Transformer を作成することもできます。このgithub プロジェクトには、いくつかのトランスフォーマーを定義する単純なコネクタがあります。

それ以外のブランチに空のロガーを配置するか、必要に応じて No-Op を作成できます。

あなたのロック スコープに関しては、それができるかどうかは 100% わかりませんが、@Processor をインターセプト フラグで構成すると、@Processor は次のチェーンを実行して結果を取得できると思います。

何かのようなもの:

@Processor(intercepting = true)
public Object shouldContinue(boolean cont, SourceCallback afterChain) throws Exception {
    if (cont) {
        return afterChain.process();
    }
    return null;
}

この例では、 cont は、チェーンの残りを実行するかどうかを決定する @Processor の構成可能なフラグです。

MuleEvent が必要な場合:

@Inject
@Processor(intercepting = true)
public MuleEvent shouldContinueFullEvent(boolean cont, MuleEvent muleEvent, SourceCallback afterChain) throws Exception {
    if (cont) {
        return afterChain.processEvent(muleEvent);
    }
    return null;
}
于 2015-03-15T14:42:56.977 に答える