DataWeave メモリ管理

Mule Runtime Engine で DataWeave を介して大きなファイルを処理する場合、どれだけのメモリをいつ使用するかを詳細に調整するためにセットアップできるいくつかの項目があります。

RAM の使用とディスクの使用

DataWeave はディスクデータストレージを使用して、メモリ不足にならないようにします。作成されたファイルはデフォルトの一時ディレクトリに配置されます。このファイルを代わりにカスタムディレクトリに保存する場合は、java.io.tmpdir​ プロパティを使用してディレクトリを指定できます。

2 つの種別の DataWeave ファイルが生成されます。どちらも名前は dw-buffer-​ で始まります。

  • dw-buffer-output-${count}.tmp
    変換の結果がしきい値の 1572864 バイト​よりも大きい場合に、変換の出力を保存するために使用されます。 このしきい値を変更するには、システムプロパティ com.mulesoft.dw.buffersize​ を追加し、新しいしきい値として使用するバイト数をそのプロパティに割り当てます。システムプロパティはいくつかの方法で定義できます。詳細は、システムプロパティ​を参照してください。 Mule Runtime Engine は、値が参照されなくなった、JVM GC によって値が収集された、または Mule イベントの実行が終了した場合に、ファイルを削除します。

  • dw-buffer-index-${count}.tmp
    読み取られている値のインデックス情報を保存するために使用されます。このファイルは、DataWeave がデータにすばやくアクセスするのに役立ちます。Mule Runtime Engine は、変換の実行が終了した場合にファイルを削除します。また、foreach ループなどのストリーミングのユースケースでは、ストリームが終了した場合 (foreach の実行が終了した場合) にファイルを削除します。

Was this article helpful?

💙 Thanks for your feedback!