4

サービス メソッドに で注釈を付けました@Transactional readonly=true

それ以来、その春/休止状態は、jdbc 接続ドライバーの setReadonly メソッドを呼び出しません。私に何ができる?

マスター/スレーブ レプリケーションを使用し、jdbc プールは接続で readonly フラグを使用してクエリをマスターまたはスレーブにルーティングするためです。

4

2 に答える 2

0

ここでは、調査する価値のある 2 つのソリューションについて説明します: http://www.dragishak.com/?p=307

  1. AOP を使用して JDBC 接続を readOnly に設定します。これがブログ投稿の焦点です。
  2. 接続プールでフックを使用して、に基づいて別の接続を選択しますTransactionSynchronizationManager.isCurrentTransactionReadOnly()。これは、使用している接続プールの実装によって異なります (たとえば、BoneCP、c3p0、DBCP でまだサポートされているかどうかはわかりません)。上のリンクのコメント欄を見てください。
于 2014-02-12T19:18:13.383 に答える