スクリプティングモジュール - Mule 4

サポートカテゴリ: 選択

スクリプティングモジュール v1.1

スクリプティングモジュールは、スクリプト言語で作成されたカスタムロジックを実行します。複雑なタスクの全部または一部を実行するためのカスタムコードの作成や、作成済みのモジュールの再利用が必要な場合があります。次のスクリプト言語がサポートされます。

  • Groovy 2.4.16

  • Jython 2.7.1 (Python の Java 実装)

  • JRuby 9.2.7.0 (Ruby の Java 実装)

  • Nashorn (JavaScript エンジン)

インストール

スクリプティングモジュールは、Anypoint Studio に含まれています。[Mule Palette (Mule パレット)] でこのモジュールが見当たらない場合は、[Add Module (モジュールを追加)]​ を使用して追加してください。. または、Exchange でこのモジュールの最新バージョンを検索して、このモジュールをプロジェクトの連動関係に追加することもできます。

基本的な使い方

Studio でスクリプティング操作を設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)] でスクリプティングモジュールをクリックします。

  2. スクリプティングモジュールの Execute​ 操作を次のようにフローまでドラッグします。

    スクリプティングの Execute コンポーネント
  3. Execute​ 要素をダブルクリックして Execute の設定タブを開きます。

  4. [General (一般)]​ タブの [Code (コード)]​ テキストウィンドウで、下記の例のようにコードを入力します。

  5. [Engine (エンジン)]​ で Execute コンポーネントのエンジンを選択します。

    • Groovy

    • Nashorn (JavaScript)

    • Jython (Python)

    • JRuby (Ruby)

コードを記述したスクリプト

Configuration XML (設定 XML)​ エディタでは、XML は次のようになります。

例: 基本的な使い方
<scripting:execute engine="jython" doc:name="Script">
    <scripting:code>
      def factorial(n):
          if n == 0: return 1
	  return n * factorial(n-1)

      result = factorial(10)
    </scripting:code>
</scripting:execute>

次のようにファイル設定プロパティ​を使用すると、外部ファイルからコードを読み込むこともできます。

ファイル設定プロパティを使用したスクリプト

Configuration XML (設定 XML)​ エディタでは、XML は次のようになります。

例: ファイル設定プロパティを使用したスクリプトコードの設定
<scripting:execute engine="jython" doc:name="Script">
    <scripting:code >${file::script.py}</scripting:code>
</scripting:execute>

パラメータの設定

次のように DataWeave を使用して、入力パラメータ値を定義できます。

パラメータを使用したスクリプト

パラメータは、キーが文字列、値がオブジェクトのマップになっている必要があります。適切に機能するように、DataWeave 式でこの種の出力が生成されるようにする必要があります。

変数をバインドするときにパラメータを使用するには、それらを名前で参照します (例: ​factorial(initialValue + int(payload))​)。

Configuration XML (設定 XML)​ エディタでは、XML は次のように記述されます。

例: パラメータの設定
<scripting:execute engine="jython" doc:name="Script">
	<scripting:code >def factorial(n):
	if n == 0: return 1
	return n * factorial(n-1)
result = factorial(initialValue + int(payload))</scripting:code>
	<scripting:parameters ><![CDATA[#[{
        initialValue: 10
    }]]]></scripting:parameters>
</scripting:execute>

詳細な設定

[Advanced (詳細)]​ タブで対象値を修正して、変数をスクリプト実行の対象​として設定します。

詳細設定

Configuration XML (設定 XML)​ エディタでは、XML は次のようになります。

例: 詳細設定
<scripting:execute engine="jython" doc:name="Script" target="variableName">
    <scripting:code >${file::script.py}</scripting:code>
</scripting:execute

Was this article helpful?

💙 Thanks for your feedback!