アプリケーションにいくつかの RESTFul Web サービスを実装するために Spring ORM サポートを使用しています。アプリケーションは、数時間後に応答を停止しています。リソースリークが疑われます。
次のようなコードがあります。
protected Session getSession() {
Session session = null;
try {
session = hibernateTemplate.getSessionFactory().getCurrentSession();
} catch (Exception ex) {}
if (session == null) {
session = hibernateTemplate.getSessionFactory().openSession();
}
return session;
}
.....
public void someMethod(){
Session session = null;
try {
session = getSession();
} catch (Exception ex) {}
query = session.createSQLQuery(queryString);
List<Object[]> myObjs= (List<Object[]>) query.list();
....
....
Query query2 = session.createSQLQuery(queryString2);
BigInteger count = (BigInteger) query2.uniqueResult();
}
catch(Exception e){}
セッションオブジェクトを再利用してクエリとクエリ2を実行しています。セッション オブジェクトを再利用すると、リソース リークが発生する可能性がありますか?