タグ

ブックマーク / n314.hatenablog.com (1)

  • S2JDBCのiterate()で OutOfMemoryError - ログ日記

    S2JDBCを使って DBのデータ数十万件をまとめてDLしようとしたらエラーになった。 getResultList()じゃなくてiterate()使ったら結果をまとめて保持しなくなるからメモリを使わなくなるんじゃないの?と思ったけどダメ。 WicketのResourceStream系がキャッシュしてるのか自分で書いたオブジェクトを書き出す処理がミスってたのか何か使い方が間違ってたのか分からずハマった。 Eclipse Memory Analyzer でダンプを見たら、どこかでデータを全件保持している模様。 2/29 ここから追記S2JDBC+PostgreSQLだとs2jdbc.diconのfetchSizeプロパティの設定+トランザクションをきちんと開始する、で解決しそう。(とりあえずローカル環境でエラーの再現 → エラー修正の確認まではできた) PostgreSQL: http://o

    S2JDBCのiterate()で OutOfMemoryError - ログ日記
  • 1