The HIRO Says

If you smell what The HIRO is cooking!!!

EclipseLinkでTransactionAwareDataSourceProxyは使うな!

org.springframework.jdbc.datasource.TransactionAwareDataSourceProxyorg.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter を一緒に使用すると、java.sql.Connection をクローズしてくれません。

EclipseLink を使いたい場合は、TransactionAwareDataSourceProxy ではなく、一層下の DataSource(BasicDataSource など)を使用した方が良いです。

TransactionAwareDataSourceProxy#close() 時のクラス呼び出し階層は以下の通りです。


●EclipseLinkJpaVendorAdapter
 └EclipseLinkJpaDialect
  └SimpleConnectionHandle ←Connection をクローズしてくれない orz


●【参考】HibernateJpaVendorAdapter
 └HibernateJpaDialect
  └HibernateConnectionHandle ←Connection をクローズしてくれる!