クラス LockRegistryLeaderInitiator
java.lang.ObjectSE
org.springframework.integration.support.leader.LockRegistryLeaderInitiator
- 実装されたすべてのインターフェース:
Aware
、DisposableBean
、ApplicationEventPublisherAware
、Lifecycle
、Phased
、SmartLifecycle
public class LockRegistryLeaderInitiator
extends ObjectSE
implements SmartLifecycle, DisposableBean, ApplicationEventPublisherAware
ロックの保持に基づいてリーダー選出を開始するコンポーネント。ロックに適切なプロパティ(有効期限のあるグローバル)がある場合、リーダーが複数存在することはありませんが、リーダーが短期間存在しない場合があります。ロックの保証が強化されており、有効期限が切れたり盗まれたりしたときにホルダーのスレッドが中断される場合は、パラメーターを調整して、リーダーのない期間をロックプロバイダーへの遅延によってのみ制限されるように減らすことができます。選出プロセスは、ロックを保持して取得しようとしている間、スレッドを永続的に拘束するため、ネイティブリーダーイニシエーター(ロックに基づかない)の方が効率的である可能性があります。使用可能なネイティブリーダーイニシエーターがないが、ロックレジストリ(共有データベースなど)がある場合、この実装が役立つ可能性があります。
- 導入:
- 4.3.1
- 作成者:
- Dave Syer, Artem Bilan, Vedran Pavic, Glenn Renfro, Kiel Boatman, Gary Russell, Christian Tzolov
ネストされたクラスのサマリー
ネストされたクラスフィールドのサマリー
フィールドインターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターの概要
コンストラクターコンストラクター説明提供されたロックレジストリとデフォルトの候補(リーダーシップイベントをログに記録するだけ)を使用して、新しいリーダーイニシエーターを作成します。LockRegistryLeaderInitiator
(LockRegistry locks, Candidate candidate) 新しいリーダーイニシエーターを作成します。メソッドのサマリー
修飾子と型メソッド説明void
destroy()
int
getPhase()
boolean
boolean
boolean
void
setApplicationEventPublisher
(ApplicationEventPublisher applicationEventPublisher) void
setAutoStartup
(boolean autoStartup) void
setBusyWaitMillis
(long busyWaitMillis) void
setHeartBeatMillis
(long heartBeatMillis) void
setLeaderEventPublisher
(LeaderEventPublisher leaderEventPublisher) LeaderEventPublisher
を設定してください。void
setPhase
(int phase) void
setPublishFailedEvents
(boolean publishFailedEvents) 指定された applicationEventPublisher への失敗したイベントの公開を有効または無効にします。void
setTaskExecutor
(AsyncTaskExecutor taskExecutor) リーダーシップデーモンを実行するためのAsyncTaskExecutor
を設定します。void
start()
リーダー選出のためのcandidate
の登録を開始します。void
stop()
リーダー選出のためのcandidate
の登録を停止します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
stop
フィールドの詳細
DEFAULT_HEART_BEAT_TIME
public static final long DEFAULT_HEART_BEAT_TIME- 関連事項:
DEFAULT_BUSY_WAIT_TIME
public static final long DEFAULT_BUSY_WAIT_TIME- 関連事項:
コンストラクターの詳細
LockRegistryLeaderInitiator
提供されたロックレジストリとデフォルトの候補(リーダーシップイベントをログに記録するだけ)を使用して、新しいリーダーイニシエーターを作成します。- パラメーター:
locks
- レジストリをロックする
LockRegistryLeaderInitiator
新しいリーダーイニシエーターを作成します。候補の実装は、リーダーシップイベントをリッスンし、ビジネスアクションを実行するためにユーザーによって提供されます。- パラメーター:
locks
- レジストリをロックするcandidate
- リーダー選出候補
メソッドの詳細
setTaskExecutor
リーダーシップデーモンを実行するためのAsyncTaskExecutor
を設定します。- パラメーター:
taskExecutor
- 使用するAsyncTaskExecutor
。- 導入:
- 6.2
setHeartBeatMillis
public void setHeartBeatMillis(long heartBeatMillis) setBusyWaitMillis
public void setBusyWaitMillis(long busyWaitMillis) setLeaderEventPublisher
LeaderEventPublisher
を設定してください。- パラメーター:
leaderEventPublisher
- イベント発行者
setApplicationEventPublisher
- 次で指定:
- インターフェース
ApplicationEventPublisherAware
のsetApplicationEventPublisher
isRunning
getPhase
public int getPhase()- 次で指定:
- インターフェース
Phased
のgetPhase
- 次で指定:
- インターフェース
SmartLifecycle
のgetPhase
setPhase
public void setPhase(int phase) - パラメーター:
phase
- フェーズ- 関連事項:
isAutoStartup
public boolean isAutoStartup()- 次で指定:
- インターフェース
SmartLifecycle
のisAutoStartup
setAutoStartup
public void setAutoStartup(boolean autoStartup) - パラメーター:
autoStartup
- 自動的に開始する場合は true- 関連事項:
getContext
- 戻り値:
- コンテキスト。
isPublishFailedEvents
public boolean isPublishFailedEvents()setPublishFailedEvents
public void setPublishFailedEvents(boolean publishFailedEvents) 指定された applicationEventPublisher への失敗したイベントの公開を有効または無効にします。リーダー選出中にミューテックスを取得しようとしているときに公開される可能性のある失敗イベントの数が多いため (別のインスタンスがミューテックスを保持している場合)、デフォルトは false に設定されています。- パラメーター:
publishFailedEvents
- true の場合、失敗したイベントが公開されるというブール値。false の場合、失敗は公開されません。デフォルトは false です。- 導入:
- 5.0
start
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBean
のdestroy
stop