2017-05-16 16 views
1

AbstractRoutingDataSourceを実装しています。私はAbstractRoutingDataSource: - ルックアップキーのためのスレッドバインドされたトランザクションコンテキストの重要性

AbstractRoutingDataSourceはルートのgetConnection()が検索キーに基づいて、様々なターゲットデータソース のいずれかに呼び出す抽象データソース実装 で読んだもの。後者は、通常は(ただし必ずしもではありません)です。 は、スレッドバインドされたトランザクションコンテキストによって決定されます。

私は、スレッドバインドされたトランザクションコンテキストを使用して検索キーを決定する利点は何ですか?このような方法を使うのが理想的なのはいつですか?どんな助けも高く評価されます。ありがとうございます。

答えて

0

簡単に言えば、バウンドスレッドは、基礎となる軽量プロセスの属性を変更することができます。バインドされたスレッドが終了すると、軽量プロセスはキャッシュされません。

スケジューリングコンテキストでは、システムスコープとバインドされていないスレッドのバインドされたスレッドは、プロセススコープです。 [Docs Oracle、2010]

システムスコープ:他のシステムスレッド(カーネルスレッドなど)とCPUを競合させます。

プロセススコープ:現在のプロセス内のCPUを競合させます。

関連する問題