私のDAO
クラスでは、への参照がありEntityManager
ます。EntityManager
を使用してスレッドセーフにアクセスしたいThreadLocal
。
これまでのところ、私の試みはNullPointerException
s になっただけで、まともな例を見つけることができないようです。
誰かが私に例を提供したり、正しい方向に向けたりできますか?
update : BalusC の提案を試してみましたが、JSF と JAX-RS Web サービスを同時に介して DAO にアクセスすると、まだエラーが発生します。
org.hibernate.exception.GenericJDBCException: could not load an entity
java.sql.SQLException: You can't operate on a closed Connection!!!
java.lang.NullPointerException
at com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement
私は C3P0 を使用しているため、クローズド接続が問題になる理由がわかりません。
update2 : BalusC の最後のコメントは私の問題を解決したようです:At least, you should not have a single instance of the DAO class shared throughout the application. Create a new one on every request.