クラス PostgresChannelMessageTableSubscriber
java.lang.ObjectSE
org.springframework.integration.jdbc.channel.PostgresChannelMessageTableSubscriber
- 実装済みのインターフェース一覧:
Lifecycle、Phased、SmartLifecycle
Postgres データベースが
JdbcChannelMessageStore 経由で受信する新しいメッセージのサブスクライバー。このサブスクライバーの実装は、Postgres の LISTEN/NOTIFY メカニズムを使用して、メッセージが異なる JVM または JdbcChannelMessageStore から書き込まれ、読み取られた場合でも、新しいメッセージのプッシュ通知を受信できるようにします。このサブスクライバーには、どのライフサイクルでも開いたままの非共有 PgConnection が必要であることに注意してください。任意の JVM に対して単一のサブスクライバーを実行することをお勧めします。このため、このサブスクライバーは領域に依存しません。特定のリージョンとグループ ID のメッセージをリッスンするには、PostgresChannelMessageTableSubscriber.Subscription を使用して、このサブスクライバーに登録します。機能するために、使用される Postgres データベースは、新しく到着したメッセージで通知を送信するためのトリガーを定義する必要があります。このトリガーは、この成果物内の schema-postgresql.sql ファイルで定義されていますが、コメント化されています。- 導入:
- 6.0
- 作成者:
- Rafael Winterhalter, Artem Bilan, Igor Lovich, Christian Tzolov, Johannes Edmeier
ネストされたクラスの概要
ネストされたクラス修飾子と型クラス説明static interfaceJdbcChannelMessageStoreに追加された新しいメッセージのプッシュ通知を受信するためのPostgresChannelMessageTableSubscriberへのサブスクリプション。フィールド概要
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASEコンストラクター概要
コンストラクターコンストラクター説明PostgresChannelMessageTableSubscriber(PgConnectionSupplier connectionSupplier) JdbcChannelMessageStore.DEFAULT_TABLE_PREFIXを使用して新しいサブスクライバーを作成します。PostgresChannelMessageTableSubscriber(PgConnectionSupplier connectionSupplier, StringSE tablePrefix) 新しいサブスクライバーを作成します。方法の概要
修飾子と型メソッド説明booleanvoidsetNotificationTimeout(DurationSE notificationTimeout) 通知ポーリングのタイムアウトを設定します。voidsetTaskExecutor(AsyncTaskExecutor taskExecutor) Postgres リスナーデーモンにマネージドAsyncTaskExecutorを提供します。voidstart()voidstop()booleansubscribe(PostgresChannelMessageTableSubscriber.Subscription subscription) このサブスクライバーに新しいサブスクリプションを追加します。booleanこのサブスクライバーから以前のサブスクリプションを削除します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
getPhase, isAutoStartup, isPauseable, stop
コンストラクターの詳細
PostgresChannelMessageTableSubscriber
JdbcChannelMessageStore.DEFAULT_TABLE_PREFIXを使用して新しいサブスクライバーを作成します。- パラメーター:
connectionSupplier- 対象の Postgres データベースの接続サプライヤー。
PostgresChannelMessageTableSubscriber
public PostgresChannelMessageTableSubscriber(PgConnectionSupplier connectionSupplier, StringSE tablePrefix) 新しいサブスクライバーを作成します。- パラメーター:
connectionSupplier- 対象の Postgres データベースの接続サプライヤー。tablePrefix- サブスクライブするJdbcChannelMessageStoreのテーブルプレフィックス。
メソッドの詳細
setTaskExecutor
Postgres リスナーデーモンにマネージドAsyncTaskExecutorを提供します。- パラメーター:
taskExecutor- 使用するAsyncTaskExecutor。- 導入:
- 6.2
setNotificationTimeout
通知ポーリングのタイムアウトを設定します。指定された期間に通知が受信されない場合は、基礎となる接続が閉じられ、再確立されます。Duration.ZEROの値を設定すると、タイムアウトが無効になり、永久に待機します。これにより、DB フェイルオーバーシナリオで問題が発生する可能性があります。- パラメーター:
notificationTimeout- 通知ポーリングのタイムアウト。- 導入:
- 6.1.8
subscribe
このサブスクライバーに新しいサブスクリプションを追加します。- パラメーター:
subscription- 登録するサブスクリプション。- 戻り値:
- サブスクリプションがまだ追加されていない場合は
true。
unsubscribe
このサブスクライバーから以前のサブスクリプションを削除します。- パラメーター:
subscription- 削除するサブスクリプション。- 戻り値:
- サブスクリプションが以前に登録されていて、現在は削除されている場合は
true。
start
stop
isRunning