Scripting Module - 例 - Mule 4

次の Scripting Module の例では、バインド変数を使用する方法とレジストリにアクセスする方法を示しています。

バインド変数の例の使用

次のScripting Module XML の例では、以下の方法を示しています。

  • スクリプティングコードでフロー変数を使用する (例: vars.increment​)

  • スクリプティングパラメーターを参照することによって使用する (例: initialValue​)

  • log​ 変数を使用して一部の情報を記録する (例: log.info("…​.")​)

  • result​ 変数を使用して実行結果を設定する

  • vars.increment + Number(payload) + initialValue​ でペイロードを定義する

<set-variable variableName="increment" value="#[22]" />
<scripting:execute engine="ECMAScript">
    <scripting:code>
        log.info("Incrementing payload by " + (vars.increment + initialValue))
        result = vars.increment + Number(payload) + initialValue
    </scripting:code>
    <scripting:parameters><![CDATA[#[{ initialValue: 10 }]]]></scripting:parameters>
</scripting:execute>

レジ例にアクセスする

次のScripting Module XML の例では、以下の方法を示しています。

  • レジにアクセスする

  • フローを停止または開始する

<scripting:execute  engine="Groovy">
    <scripting:code ><![CDATA[flow = registry.lookupByName("test-flow").get();
        if (flow.isStarted())
	        flow.stop()
        else
	        flow.start()]]>
    </scripting:code>
</scripting:execute>