C3P0NativeJdbcExtractorを使用して、以下のようにネイティブJDBC接続を抽出しています。C3P0NativeJdbcExtractorのConnection.close()は接続を閉じてプールから削除します
public Connection getNativeConnection() throws SQLException{
C3P0NativeJdbcExtractor nativeJbdc;
nativeJbdc = new C3P0NativeJdbcExtractor();
return nativeJbdc.getNativeConnection(dataSource.getConnection());
}
ここで、データソースはC3P0接続プールから取得されていることに注意してください。このメソッドで返されたConnection.close()
を実行すると、実際にプールに戻る代わりに接続が閉じられています。
ただし、アンラップされた接続を閉じると、プールに戻されます。
ここでラップされた接続を閉じると、接続をプールに戻すことができないのはなぜですか?
抽出された接続にラップされ、プールから取得された接続に対してラップされているように見えるので、あなたの質問は_wrapped_と_unwrapped_の意味を混同していると思います。 –