DataWeave のバージョン設定動作

DataWeave の新しいマイナーバージョンでは、言語の動作を変更できます。​互換性フラグ​として機能する DataWeave システムプロパティを使用することで、以前の動作に連動する既存のスクリプトを引き続き使用できます。ただし、各フラグでは、フラグが使用できなくなったバージョンを識別する削除バージョンが定義されます。そのバージョンではデフォルトで変更後の動作が制御されます。

DataWeave 言語レベルを指定して、どのような互換性フラグを使用できるのかを DataWeave ランタイムに示します。アップグレードして後方互換性を維持するには、以前のバージョンの言語レベルを設定して、そのバージョンで使用可能なフラグがアップグレード先の DataWeave バージョンで期限切れになっても引き続き表示されるようにします。言語レベルのデフォルトは実行中の DataWeave バージョンになります。最大でもランタイムと同じバージョンにする必要があります。

Mule アプリケーションでは、言語レベルはアプリケーションの ​minMuleVersion​ 設定によって決まります (Mule ドキュメントの​「機能フラグリファレンス」​を参照)。​minMuleVersion​ の場合、言語レベルは次の表に示すように 2 つのメジャーバージョンを減算して計算されます。

minMuleVersion 言語レベル

4.5

2.5

4.4

2.4

4.3

2.3

Mule バージョンを設定すると、対応する DataWeave 言語レベルを使用するようにアプリケーションが設定されます。この設定は、DataWeave スクリプトの ​%dw​ ディレクティブで設定される DataWeave 構文バージョンに連動します。詳細は、​「DataWeave ヘッダー」​を参照してください。 たとえば、​com.mulesoft.dw.xml_reader.honourMixedContentStructure​ システムプロパティは、言語レベル 2.4 (導入時の言語レベルで、DataWeave 2.5 で削除される) の互換性フラグになります。DataWeave 2.5 では、このプロパティは言語レベルを 2.4 に設定した​場合にのみ​表示されます。そのように設定しないと、プロパティはデフォルトで 2.5 の新しい動作になります。