私は、数百万のアプリケーションのようにSpringの接続プールをBeanとして設定しています。Springは自動的にDataSourceを終了し、終了する必要がありますか?
トランザクション管理のために、アプリケーションがシャットダウンすると、すべての接続がプールに返されます。その後、プールは参照解除され、および/またはJVMがシャットダウンされます。
したがって、まだ接続プールを閉じる必要はありますか? DataSource
の場合、Springは自動的にそれを行いますか?
私は、数百万のアプリケーションのようにSpringの接続プールをBeanとして設定しています。Springは自動的にDataSourceを終了し、終了する必要がありますか?
トランザクション管理のために、アプリケーションがシャットダウンすると、すべての接続がプールに返されます。その後、プールは参照解除され、および/またはJVMがシャットダウンされます。
したがって、まだ接続プールを閉じる必要はありますか? DataSource
の場合、Springは自動的にそれを行いますか?
通常、データソースを閉じないでください。データソースから返された接続を閉じるだけです。 DataSource自体は決して "オープン"にはなりません。
アプリケーションがシャットダウンすると、接続プールが自動的に処理される最も簡単な方法の1つは、コンテキストがアンロードされ、接続プールBeanでdestroy-method = "close"を定義することによって接続をシャットダウンします。
例
<bean class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
第1段落が接続プールに適用されているかどうかわかりません。プールは明らかにオープン接続を保持します。プールが最終的にガベージコレクションされる間に、クローズによって明示的にリソースを解放する必要があるかどうかは疑問です。 –
@ billc.cn適用されますが、データソースがプールされています – isah
あなたの質問に答えた場合は、回答としてマークしてください。 –
可能な重複:http://stackoverflow.com/questions/2249993/database-connection-management-in-spring –
[春におけるデータベース接続の管理]の可能性のある重複します(http:/ /stackoverflow.com/questions/2249993/database-connection-management-in-spring) –