2016-06-11 22 views
0

私のクエリを実行するために、QueryRunnerクラスでDbUtilsライブラリを使用しています。 DbUtilsの私のunderestandingドキュメントから私は接続を閉じることについて心配する必要はありません。しかし、何らかの理由で自動的にまたは手動で接続を閉じることはありません。ここに私のコードは次のとおりです。DbUtilsを使用するQueryRunnerでデータベース接続をクローズしない

私は「定期的にinsertSQLメソッドを呼び出す」スレッドを持っているので、しばらくしてから「接続が多すぎます」というエラーが表示されます。私はTomcatとデータベースの最新バージョンを使用してMYSQLです。

答えて

1

insertSQL()メソッドを呼び出すたびに新しいDataSourceが作成されています。これはおそらく例外の原因です。

代わりに、あなたは一度DataSource作成する必要があり、その後、例えば、QueryRunnerコンストラクタにインスタンスを渡す:

QueryRunner queryRunner = new QueryRunner(dataSource); 

DataSourceを使用すると、通常は手動で接続を終了する必要はありません。

さらに詳しい例はhttps://commons.apache.org/proper/commons-dbutils/examples.htmlを参照してください。

+0

困っているかもしれません、試してみてください、thx – Selfcoded

関連する問題