データを含む非常に大きなファイルがあるとしましょう。パーサーはそれを解析し、データを次のクラスに保持します。
Class Data{
DataHeader header;
List<DataLine> lines;
...
}
このデータを DB に永続化する前に、いくつかの検証と処理を行います。そして、エラーがない場合にのみ永続化します。
データ ファイルは次のようになります。
DATAHEADER|.......
DATALINE|1|....
DATALINE|2|....
... and so on
限られた JVM メモリでこのファイルを処理するには、バッチで処理し、エラーがない場合にのみ永続化する必要があります。ソリューションの設計にご協力いただきありがとうございます。