クラス PostgresSubscribableChannel
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.channel.AbstractSubscribableChannel
org.springframework.integration.jdbc.channel.PostgresSubscribableChannel
- 実装済みのインターフェース一覧:
Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, ComponentSourceAware, ExpressionCapable, IntegrationPattern, PostgresChannelMessageTableSubscriber.Subscription, NamedComponent, IntegrationManagement, SubscribableChannelManagement, TrackableComponent, MessageChannel, SubscribableChannel, InterceptableChannel
public class PostgresSubscribableChannel
extends AbstractSubscribableChannel
implements PostgresChannelMessageTableSubscriber.Subscription
JdbcChannelMessageStore のグループ ID に送信されたメッセージのプッシュ通知を受信するための AbstractSubscribableChannel。このようなプッシュ通知を受信できるのは、Postgres データベースを使用している場合のみです。機能するために、使用される Postgres データベースは、新しく到着したメッセージで通知を送信するためのトリガーを定義する必要があります。このトリガーは、この成果物内の schema-postgresql.sql ファイルで定義されていますが、コメント化されています。- 導入:
- 6.0
- 作成者:
- Rafael Winterhalter, Artem Bilan, Igor Lovich, Norbert Schneider
ネストされたクラスの概要
クラス AbstractMessageChannel から継承されたネストクラス / インターフェース
AbstractMessageChannel.ChannelInterceptorListインターフェース IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールド概要
クラス AbstractMessageChannel から継承されたフィールド
interceptors, metersクラス IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース MessageChannel から継承されたフィールド
INDEFINITE_TIMEOUTコンストラクター概要
コンストラクターコンストラクター説明PostgresSubscribableChannel(JdbcChannelMessageStore jdbcChannelMessageStore, ObjectSE groupId, PostgresChannelMessageTableSubscriber messageTableSubscriber) Postgres データベースのサブスクライブ可能なチャネルを作成します。方法の概要
修飾子と型メソッド説明protected booleanサブクラスはこのメソッドを実装する必要があります。protected MessageDispatcherこのサブスクリプションが通知を受け取るグループ ID を返します。このサブスクリプションが通知を受け取るリージョンを返します。void表示されたリージョンとグループ ID にメッセージが追加されたことを示します。protected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidsetDispatcherExecutor(ExecutorSE executor) 新しく受信したメッセージのディスパッチに使用するエグゼキューターを設定します。voidsetErrorHandler(ErrorHandler errorHandler) このチャネルでディスパッチできないメッセージにはErrorHandlerを設定します。voidsetRetryTemplate(RetryTemplate retryTemplate) 下流処理で例外が発生した場合に再試行に使用する再試行テンプレートを設定しますvoidsetTransactionManager(PlatformTransactionManager transactionManager) メッセージ処理に使用するトランザクションマネージャーを設定します。booleansubscribe(MessageHandler handler) booleanunsubscribe(MessageHandler handle) クラス AbstractSubscribableChannel から継承されたメソッド
getSubscriberCountクラス AbstractMessageChannel から継承されたメソッド
addInterceptor, addInterceptor, destroy, getComponentType, getFullChannelName, getIChannelInterceptorList, getIntegrationPatternType, getInterceptors, getMetricsCaptor, getOverrides, isApplicationRunning, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, removeInterceptor, removeInterceptor, send, send, setDatatypes, setInterceptors, setLoggingEnabled, setMessageConverter, setObservationConvention, setShouldTrackクラス IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース IntegrationManagement から継承されたメソッド
getManagedName, getManagedType, getThisAs, setManagedName, setManagedTypeインターフェース MessageChannel から継承されたメソッド
send, sendインターフェース NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
PostgresSubscribableChannel
public PostgresSubscribableChannel(JdbcChannelMessageStore jdbcChannelMessageStore, ObjectSE groupId, PostgresChannelMessageTableSubscriber messageTableSubscriber) Postgres データベースのサブスクライブ可能なチャネルを作成します。- パラメーター:
jdbcChannelMessageStore- 関連するリージョンに使用するメッセージストア。groupId- サブスクリプションの対象となるグループ ID。messageTableSubscriber- 通知の受信に使用するサブスクライバー。
方法の詳細
setDispatcherExecutor
新しく受信したメッセージのディスパッチに使用するエグゼキューターを設定します。- パラメーター:
executor- 使用するエグゼキュータ。
setTransactionManager
メッセージ処理に使用するトランザクションマネージャーを設定します。各メッセージは個別のトランザクションで処理されます- パラメーター:
transactionManager- 使用するトランザクションマネージャー- 導入:
- 6.0.5
- 関連事項:
setRetryTemplate
下流処理で例外が発生した場合に再試行に使用する再試行テンプレートを設定します- パラメーター:
retryTemplate- 使用する再試行テンプレート- 導入:
- 6.0.5
- 関連事項:
setErrorHandler
このチャネルで送信できないメッセージに対してErrorHandlerを設定します。RetryTemplateの実行で例外がスローされた後のリカバリコールバックとして使用されます。- パラメーター:
errorHandler- 使用するErrorHandler。- 導入:
- 6.0.9
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
AbstractMessageChannelのonInit
subscribe
- 次で指定:
- インターフェース
SubscribableChannel内のsubscribe - オーバーライド:
- クラス
AbstractSubscribableChannelのsubscribe
unsubscribe
- 次で指定:
- インターフェース
SubscribableChannel内のunsubscribe - オーバーライド:
- クラス
AbstractSubscribableChannelのunsubscribe
getDispatcher
- 次で指定:
- クラス
AbstractSubscribableChannelのgetDispatcher
doSend
クラスからコピーされた説明:AbstractMessageChannelサブクラスはこのメソッドを実装する必要があります。負でないタイムアウトは、チャネルが容量に達した場合に待機する時間を示します(値が 0 の場合、成功の有無にかかわらずすぐに戻る必要があります)。負のタイムアウト値は、メッセージが受け入れられるか、ブロッキングスレッドが中断されるまでメソッドがブロックされることを示します。- オーバーライド:
- クラス
AbstractSubscribableChannelのdoSend - パラメーター:
message- メッセージ。timeout- タイムアウト。- 戻り値:
sendが成功した場合は true。
notifyUpdate
public void notifyUpdate()インターフェースからコピーされた説明:PostgresChannelMessageTableSubscriber.Subscription指定されたリージョンとグループ ID にメッセージが追加されたことを示します。このメソッドは、新しいメッセージがない場合にも呼び出される可能性があることに注意してください。たとえば、別のサブスクリプションがすでにそれらのメッセージを読んでいる場合や、一時的な接続の切断中に新しいメッセージが到着した場合などです。- 次で指定:
- インターフェース
PostgresChannelMessageTableSubscriber.Subscription内のnotifyUpdate
getRegion
インターフェースからコピーされた説明:PostgresChannelMessageTableSubscriber.Subscriptionこのサブスクリプションが通知を受け取るリージョンを返します。- 次で指定:
- インターフェース
PostgresChannelMessageTableSubscriber.Subscription内のgetRegion - 戻り値:
JdbcChannelMessageStoreの関連領域。
getGroupId
インターフェースからコピーされた説明:PostgresChannelMessageTableSubscriber.Subscriptionこのサブスクリプションが通知を受け取るグループ ID を返します。- 次で指定:
- インターフェース
PostgresChannelMessageTableSubscriber.Subscription内のgetGroupId - 戻り値:
PostgresSubscribableChannelのグループ ID。