DataWeave システムプロパティ

DataWeave では、いくつかのシステムプロパティがサポートされます。これらのプロパティをアプリケーションの開発およびデプロイメントで使用するには、​「システムプロパティ」​を参照してください。

プロパティ 説明

com.mulesoft.dw.buffered_char_sequence.enabled

内部の ​BufferedCharSequence​ 改善を有効にするか、無効にするかを制御します。このプロパティが ​true​ に設定されると、DataWeave は大きなファイル (1.5M 超) をメモリに読み込みません。これらの項目はチャンクに分割して読み取られます。この機能はパフォーマンスを抑えてメモリ不足エラーを防止します。

  • 型: Boolean

  • デフォルト: true

com.mulesoft.dw.buffersize

処理された入力および出力を保持するために DataWeave で使用するメモリ内の入力バッファおよび出力バッファのサイズ (バイト単位) を設定します。 DataWeave では、このサイズを超えるペイロードは一時ファイル ​dw-buffer-index-${count}.tmp​ および ​dw-buffer-output-${count}.tmp​ に保存されます。 『DataWeave のメモリ管理』​を参照してください。

  • 型: Number​ (バイト)

  • デフォルト: 8192​ バイト (8 KB)

com.mulesoft.dw.coercionexception.verbose

デフォルトでは、型強制に失敗したデータに関する詳細を型強制例外に追加します。このプロパティが ​false​ に設定されている場合、追加のメタデータは表示されません。

  • 型: Boolean

  • デフォルト: true

com.mulesoft.dw.date_minus_back_compatibility

このプロパティが ​true​ に設定されている場合、2.3.0 で変更された​『時間の加算と減算』​動作を復元します。

  • 型: Boolean

  • デフォルト: false

たとえば、次の DataWeave スクリプトについて考えてみます。

%dw 2.0
output application/dw
---
|2019-10-01| - |2018-09-23|
dataweave
  • DataWeave 2.3.0 では、この式は PT8952H を返します。

  • DataWeave 2.2.0 では、この式は P1Y8D を返します。

com.mulesoft.dw.directbuffer.disable

DataWeave でオフヒープメモリ (デフォルト) またはヒープメモリのどちらを使用するかを制御します。DataWeave では、内部バッファにはオフヒープメモリが使用されます。このため、少量のメモリのみを搭載するシステムでは、問題が発生する可能性があります。​『DataWeave のメモリ管理』​を参照してください。

  • 型: Boolean

  • デフォルト: false

com.mulesoft.dw.dump_files

実験的機能​: このプロパティが ​true​ に設定されている場合、入力コンテキストと失敗したスクリプトをフォルダーにダンプします。この動作により、失敗したスクリプトとスクリプトを失敗させたデータを追跡できます。これは、受け取った入力データが有効であることを確認するのに特に役立ちます。多くの場合、上流コンポーネントで無効なデータが生成されると、間違ったスクリプトは失敗します。

  • 型: Boolean

  • デフォルト: false

com.mulesoft.dw.dump_files​ は​実験的機能​であり、DataWeave の将来のバージョンで変更または削除される場合があります。​「DataWeave スクリプトが失敗した場合のトラブルシューティング」​を参照してください。

com.mulesoft.dw.dump_folder

実験的機能​: com.mulesoft.dw.dump_files​ が ​true​ に設定されている場合にファイルをダンプするパスを指定します。

  • 型: String

  • デフォルト: java.io.tmpdir​ (システムプロパティ値)

com.mulesoft.dw.dump_folder​ は​実験的機能​であり、DataWeave の将来のバージョンで変更または削除される場合があります。​「DataWeave スクリプトが失敗した場合のトラブルシューティング」​を参照してください。

com.mulesoft.dw.dumper_fill_stacktrace

実験的機能​: com.mulesoft.dw.dump_files​ が ​true​ に設定されている場合、dumper 例外の StackTrace を追加します。

  • 型: Boolean

  • デフォルト: false

com.mulesoft.dw.dumper_fill_stacktrace​ は​実験的機能​であり、DataWeave の将来のバージョンで変更または削除される場合があります。

com.mulesoft.dw.error_value_length

ユーザーに表示する例外メッセージの最大長を設定します。メッセージはこの最大長で切り捨てられます。この設定は、長い例外メッセージを回避するのに役立ちます。

  • 型: Number

  • デフォルト: 80

com.mulesoft.dw.indexsize

インデックス付けされたリーダーで使用するメモリ内のページの最大サイズ (バイト単位) を設定します。

  • 型: Number

  • デフォルト: 1572864​ (1.5 MB)

com.mulesoft.dw.max_memory_allocation

オフヒープメモリプールの各スロットのサイズ (バイト単位) を設定します。

  • 型: Number​ (バイト)

  • デフォルト: 1572864​ (1.5 MB)

『DataWeave のメモリ管理』​を参照してください。

com.mulesoft.dw.memory_pool_size

メモリプールのスロットの数を設定します。DataWeave バッファでは、定義されたサイズ (​com.mulesoft.dw.memory_pool_size​ * ​com.mulesoft.dw.max_memory_allocation​) までプールのオフヒープメモリが使用されます。残りはヒープメモリを使用して割り当てられます。​『DataWeave のメモリ管理』​を参照してください。

  • 型: Number

  • デフォルト: 60

com.mulesoft.dw.multipart.defaultContentType

Content-Type​ が指定されていない場合に ​multipart/*​ 形式の部分で使用するデフォルトのコンテンツタイプを設定します。マルチパートリーダープロパティ ​「defaultContentType」​ も参照してください。​2021 年 8 月リリースの Mule 4.3.0-20210719 の DataWeave 2.3 (2.3.0-20210720) で導入されました。

  • 型: String

  • デフォルト: application/octet-stream

com.mulesoft.dw.valueSelector.selectsAlwaysFirst

true​ に設定されている場合、(要素が複数回出現する場合でも) 最初に出現する要素を返します。この動作を有効にすると、パフォーマンスが低下します。

  • 型: Boolean

  • デフォルト: false

次の例は、このプロパティにより制御される動作を示しています。(DataWeave スクリプトが XML 入力で動作することを前提とします)。

XML 入力:
<root>
  <users>
     <user>
       <lname>chibana</lname>
       <name>Shoki</name>
     </user>
     <user>
       <name>Shoki</name>
       <name>Tomo</name>
     </user>
  </users>
</root>
xml
DataWeave スクリプト:
%dw 2.0
output application/json
---
{
    shokis: payload.root.users.*user map $.name
}
xml
  • com.mulesoft.dw.valueSelector.selectsAlwaysFirst​ が ​true​ に設定されている場合、スクリプトは次の出力を返します。

    {
      "shokis": [
        "Shoki",
        "Shoki"
      ]
    }
    json
  • com.mulesoft.dw.valueSelector.selectsAlwaysFirst​ が ​false​ に設定されている場合、スクリプトは次の出力を返します。

    {
      "shokis": [
        "Shoki",
        "Tomo"
      ]
    }
    json

com.mulesoft.dw.stacksize

スタックの最大サイズを設定します。関数の再帰が深すぎると、​Stack Overflow.Max stack is 256.​ などのエラーがスローされます。

  • 型: Number

  • デフォルト: 256

com.mulesoft.dw.xml.supportDTD

DTD 処理を有効にするか無効にするかを制御します。このプロパティが ​false​ に設定されている場合、内部と外部の両方のサブセットの処理がスキップされます。このプロパティのデフォルトは、2021 年 5 月の DataWeave バージョン 2.3.0 のパッチを含む Mule バージョン 4.3.0-20210427 で ​true​ から ​false​ に変更されました。

  • 型: Boolean

  • デフォルト: false

com.mulesoft.dw.track.cursor.close

true​ に設定されている場合、​CursorProvider#close()​ メソッドのコール元であるスタックトレースを追跡します。 このプロパティは、すでに閉じられているカーソルで ​CursorProvider#openCursor()​ がコールされた場合など、トラブルシューティング目的で使用します。

  • 型: Boolean

  • デフォルト: false

com.mulesoft.dw.xml_reader.honourMixedContentStructure

このプロパティが ​true​ に設定されている場合、DataWeave ではテキストを混在コンテンツと一緒に 1 つのテキスト項目にグループ化するのでなく、混在コンテンツ構造を保持します。

  • 型: Boolean

  • デフォルト: false

com.mulesoft.dw.charbuffersize

ライターが使用するバッファのサイズ (バイト) を決定します。

  • 型: Number

  • デフォルト: 4096

mule.weave.script.parser.cache.size

キャッシュされるコンパイル済みスクリプトの最大サイズを決定します。

  • 型: Number

  • デフォルト: 10000