ユーザーがSpring/HibernateWebアプリケーションを介してダウンロードするデータベースBLOBに保存されたxmlファイルがあります。Hibernateを介してbyte[]として取得された後、出力ストリームに送信される前に、XMLの一部(2つの子ノードと1つの属性を持つ単一ノード)を編集する必要があります。
私の懸念は、ファイルが大きい場合(40mb以上のものもあります)、ファイル全体をメモリに保存し、編集して、出力ストリームを介してユーザーに渡すことによって、これを実行したくないということです。'オンザフライ'で編集する方法はありますか?
byte[] b = blobRepository.get(blobID).getFile();
// What can I do here?
ServletOutputStream out = response.getOutputStream();
out.write(b);