私の要件: データベース ResultSet からタイムスタンプ (UTC に格納されている) を取得し、スレッドセーフな方法で実行します。
私のコードは現在次のようになっています。
Calendar utcCal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
while(rs.next())
rs.getTimestamp("utctime",utcCal);
...期待どおりに動作します。ただし、クエリごとに新しい Calendar オブジェクトを作成するのは非常にコストがかかるようです (非常に頻繁です)。
Joda-timeを代替候補として検討してきましたが、Calendar を Joda-time スレッドセーフ オブジェクトに置き換える方法がよくわかりません。すべてのクエリで使用できる静的な最終的な Joda-Time スレッドセーフな Calendar の代替を作成することが理想的です。
より安価な結果セットの反復のアイデアはありますか? Calendar はスレッド セーフではないため、単一の共有インスタンスを使用することはできません。