在我的申请中,我正在使用
- c3p0作为DataSource,传递给Hibernate会话工厂
- transactionManager as HibernateTransactionManager
- applicationConfig有tx:annotation-driven来检测服务方法中的@Transactional和DAO方法中的NOT。
- ServiceImpl类实现Service接口。
- 服务方法调用DAO方法。
- DAO类在ServiceImpl类中自动装配。
- 我有一个DefaultDAOImpl来使用常见的dao方法。
- 其他DAOImpl类扩展DefaultDAOImpl。
- 服务方法可以进行单个DAO呼叫。
- DAO方法也进行内部调用,有时在同一个DAOImpl和DefaultDAOImpl方法上。
- 会话是使用DefaultDAOImpl中的sessionFactory.getCurrentSession以及其他DAOImpl方法获得的。
- 不会从代码中调用session.close。
醇>
我有什么可能导致连接泄漏吗?
我看到从日志中运行c3p0 DeadLockDetector。