クラス DefaultLockRepository
java.lang.ObjectSE
org.springframework.integration.jdbc.lock.DefaultLockRepository
- 実装されているすべてのインターフェース:
CloseableSE、AutoCloseableSE、InitializingBean、LockRepository
@Repository public class DefaultLockRepository extends ObjectSE implements LockRepository, InitializingBean
org/springframework/integration/jdbc/schema-*.sql で提示されたスクリプトのテーブルに基づく LockRepository のデフォルトの実装。 このリポジトリは、異なる JdbcLockRegistry インスタンス間で共有することはできません。そうしないと、LockSE 契約が破られる可能性があり、JdbcLockRegistry はローカル同期に非共有 ReentrantLockSE を使用します。
- 導入:
- 4.3
- 作成者:
- Dave Syer, Artem Bilan, Glenn Renfro, Gary Russell, Alexandre Strubel, Ruslan Stelmachenko
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringSEDEFAULT_TABLE_PREFIXテーブルプレフィックスプロパティのデフォルト値。static intDEFAULT_TTLtime-to-live プロパティのデフォルト値。コンストラクターの概要
コンストラクター コンストラクター 説明 DefaultLockRepository(DataSourceSE dataSource)ストアインスタンスによって永続化されるすべてのロックに関連付けられるクライアント ID をランダムなUUIDSE に初期化するコンストラクター。DefaultLockRepository(DataSourceSE dataSource, StringSE id)ストアインスタンスによって永続化されるすべてのロックに関連付けられるクライアント ID をユーザーが指定できるようにするコンストラクター。メソッドのサマリー
修飾子と型 メソッド 説明 booleanacquire(StringSE lock)voidafterPropertiesSet()voidclose()voiddelete(StringSE lock)voiddeleteExpired()booleanisAcquired(StringSE lock)booleanrenew(StringSE lock)voidsetPrefix(StringSE prefix)クエリから使用されるターゲットデータベーステーブルのプレフィックスを指定します。voidsetRegion(StringSE region)すべてのロックの一意のグループ化識別子がこのストアで保持されました。voidsetTimeToLive(int timeToLive)デッドロックが期限切れになるまでの時間(ミリ秒単位)を指定します。
フィールドの詳細
DEFAULT_TABLE_PREFIX
テーブルプレフィックスプロパティのデフォルト値。- 関連事項:
- 定数フィールド値
DEFAULT_TTL
public static final int DEFAULT_TTLtime-to-live プロパティのデフォルト値。- 関連事項:
- 定数フィールド値
コンストラクターの詳細
DefaultLockRepository
ストアインスタンスによって永続化されるすべてのロックに関連付けられるクライアント ID をランダムなUUIDSE に初期化するコンストラクター。- パラメーター:
dataSource- ロックリポジトリを維持するために使用されるDataSourceSE。
DefaultLockRepository
ストアインスタンスによって永続化されるすべてのロックに関連付けられるクライアント ID をユーザーが指定できるようにするコンストラクター。- パラメーター:
dataSource- ロックリポジトリを維持するために使用されるDataSourceSE。id- リポジトリによって処理されるロックに関連付けられるクライアント ID。- 導入:
- 4.3.13
メソッドの詳細
setRegion
すべてのロックの一意のグループ化識別子がこのストアで保持されました。複数のリージョンを使用すると、さまざまな目的でストアを(必要に応じて)パーティション化できます。デフォルトはDEFAULTです。- パラメーター:
region- 設定する領域名
setPrefix
クエリから使用されるターゲットデータベーステーブルのプレフィックスを指定します。- パラメーター:
prefix- 設定するプレフィックス(デフォルトは INT_)。
setTimeToLive
public void setTimeToLive(int timeToLive)デッドロックが期限切れになるまでの時間(ミリ秒単位)を指定します。- パラメーター:
timeToLive- デッドロックを期限切れにする時間。
afterPropertiesSet
public void afterPropertiesSet()- 次で指定:
- インターフェース
InitializingBeanのafterPropertiesSet
close
- 次で指定:
- インターフェース
AutoCloseableSEのclose - 次で指定:
- インターフェース
CloseableSEのclose - 次で指定:
- インターフェース
LockRepositoryのclose
delete
- 次で指定:
- インターフェース
LockRepositoryのdelete
acquire
@Transactional(propagation=REQUIRES_NEW, isolation=SERIALIZABLE) public boolean acquire(StringSE lock)- 次で指定:
- インターフェース
LockRepositoryのacquire
isAcquired
- 次で指定:
- インターフェース
LockRepositoryのisAcquired
deleteExpired
- 次で指定:
- インターフェース
LockRepositoryのdeleteExpired
renew
- 次で指定:
- インターフェース
LockRepositoryのrenew