クラス 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) 新しいリーダーイニシエーターを作成します。メソッドのサマリー
修飾子と型メソッド説明voiddestroy()intgetPhase()booleanbooleanbooleanvoidsetApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) voidsetAutoStartup(boolean autoStartup) voidsetBusyWaitMillis(long busyWaitMillis) voidsetHeartBeatMillis(long heartBeatMillis) voidsetLeaderEventPublisher(LeaderEventPublisher leaderEventPublisher) LeaderEventPublisherを設定してください。voidsetPhase(int phase) voidsetPublishFailedEvents(boolean publishFailedEvents) 指定された applicationEventPublisher への失敗したイベントの公開を有効または無効にします。voidsetTaskExecutor(AsyncTaskExecutor taskExecutor) リーダーシップデーモンを実行するためのAsyncTaskExecutorを設定します。voidstart()リーダー選出のためのcandidateの登録を開始します。voidstop()リーダー選出のための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