3

SimpleJDBCTemplate をラッパーとして使用して JDBC 呼び出しを行うアプリに取り組んでいます。

ただし、従来のデータソースの代わりに、AbstractDataSource を使用することを選択しているため、複数のデータ ソースから選択できます。

ThreadLocal を使用してキーを挿入し、適切なデータソースを選択しています。

ただし、Spring がすべての DAO と jdbcTemplate を熱心に作成しているように見えるため、jdbcTemplate がオンデマンドで Connection を取得する方法がわかりません。

手がかりはありますか?

4

1 に答える 1

2

ということAbstractRoutingDataSourceですか?そうでない場合は、これがまさにその目的であるため、実際にそれを使用する必要があります。フレームワークに追加されたとき、 Mark Fisherはそれについて有益なブログを書きました。

はい、Spring は DAO と JdbcTemplates がデフォルトのシングルトンの場合、熱心に作成しますが、すべてがすぐに接続を取得するわけではありません。接続は、そのデータ ソースを使用する何らかの操作を開始した場合にのみ取得されます。通常、それはトランザクションの開始です。言い換えれば、あなたが望んでいることは、すでに起こっていることです。

于 2013-03-13T02:58:58.603 に答える