Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMule 3 の <scripting>
コンポーネントは、新しい <scripting>
モジュールに置き換わります。この新しいモジュールは、構文が少し変更されていますが、機能面ではかなり似ています。
<flow name="greedy">
<choice>
<when expression="#[flowVars['currency'] == 'USD']">
<scripting:component>
<scripting:script file="greedy.groovy">
<property key="currency" value="USD"/>
</scripting:script>
</scripting:component>
</when>
<when expression="#[flowVars['currency'] == 'GBP']">
<scripting:component>
<scripting:script file="greedy.py">
<property key="currency" value="GBP"/>
</scripting:script>
</scripting:component>
</when>
</choice>
</flow>
+
<flow name="greedy">
<scripting:execute engine="groovy">
<scripting:code>${file::greedy.groovy}</scripting:code>
<scripting:parameters>
#[{currency: vars.currency}]
</scripting:parameters>
</scripting:execute>
</flow>
このように、主な違いは DataWeave を使用して入力パラメーターを生成できるようになったことです。
上の例では、変数を使用してパラメーターをスクリプトに渡す方法を示しています。Mule アプリケーションの変更によりスクリプトを変更する必要がないように、スクリプトをフローの残りの部分から分離しておくことが最良の方法です。
ただし、vars
キーワードを使用して、引き続きスクリプトから変数にアクセスすることができます。例:
<flow name="greedy">
<scripting:execute engine="groovy">
<scripting:code>return "currency is " + vars.currency</scripting:code>
</scripting:execute>
</flow>
Scripting Module を使用するには、Studio のパレットを使用してアプリケーションに追加するか、pom.xml
ファイルで次の連動関係を追加します。
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-scripting-module</artifactId>
<version>1.1.0</version> <!-- or newer -->
<classifier>mule-plugin</classifier>
</dependency>