頭を整理。
- ConnectionPool自体がcloseされたりExceptionが発生したりしなければ、物理的なConnectionがcloseされるのはPoolされているConnectionのタイムアウトがおきるときのみ。
- TransactionがActive(存在し未完了状態)であればこれに関連付けられたConnectionは決してPoolに戻されない。
- すなわち、TransactionがActiveであるとき物理的なConnectionがcloseされることはない。
でも疑問も
- TransactionImpl#delistResource(XAResource)は使われてないけどどういうときに呼ばれるんだろ。