2017-01-11 9 views
0

私は、数百万のアプリケーションのようにSpringの接続プールをBeanとして設定しています。Springは自動的にDataSourceを終了し、終了する必要がありますか?

トランザクション管理のために、アプリケーションがシャットダウンすると、すべての接続がプールに返されます。その後、プールは参照解除され、および/またはJVMがシャットダウンされます。

したがって、まだ接続プールを閉じる必要はありますか? DataSourceの場合、Springは自動的にそれを行いますか?

+0

可能な重複:http://stackoverflow.com/questions/2249993/database-connection-management-in-spring –

+0

[春におけるデータベース接続の管理]の可能性のある重複します(http:/ /stackoverflow.com/questions/2249993/database-connection-management-in-spring) –

答えて

1

通常、データソースを閉じないでください。データソースから返された接続を閉じるだけです。 DataSource自体は決して "オープン"にはなりません。

アプリケーションがシャットダウンすると、接続プールが自動的に処理される最も簡単な方法の1つは、コンテキストがアンロードされ、接続プールBeanでdestroy-method = "close"を定義することによって接続をシャットダウンします。

<bean class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> 
+0

第1段落が接続プールに適用されているかどうかわかりません。プールは明らかにオープン接続を保持します。プールが最終的にガベージコレクションされる間に、クローズによって明示的にリソースを解放する必要があるかどうかは疑問です。 –

+0

@ billc.cn適用されますが、データソースがプールされています – isah

+0

あなたの質問に答えた場合は、回答としてマークしてください。 –

関連する問題