1
dbcp接続プーリングを使用していて、長時間実行されているストアドプロシージャを使用しています。複数の接続が開かれており、データベース(mssql)サーバーマシンの電源がオフになり、これらの接続が開かれたままになります。プーリングから開かれた接続のリストを取得し、それらをjava Webアプリケーションから手動で閉じるにはどうすればよいですか?DBCP開いている接続をすべて閉じる
InitialContext initCtx = new InitialContext();
Object obj = initCtx.lookup("java:comp/env/jdbc/oscon");
BasicDataSource source = (BasicDataSource) obj;
は、私はあなたがそれらを手動で閉じる必要はありませんコモンズ - dbcp2-2.0.1.jar
いただきましPooledDataSource – odedravijay
のInitialContextするContext initctx =新しいのInitialContext()へのBasicDataSourceをキャストする方法。?; \t \t \tオブジェクトOBJ = initCtx.lookup( "Javaの:COMP/ENV/JDBC/OSCON"); \t \t \tのBasicDataSourceソース=(のBasicDataSource)OBJ; \t \t \t PooledDataSource PDS =(P ooledDataSource)DataSources.pooledDataSource(ソース); \t \t \t pds.hardReset(); – odedravijay
c3p0はBasicDataSourceを提供していません。あなたのルックアップの後、 'PooledDataSource pds =(PooledDataSource)obj;'を直接試してください。あなたがしたようにハードリセットしてください。 –