クラス ReactiveRedisMessageListenerContainer
java.lang.ObjectSE
org.springframework.data.redis.listener.ReactiveRedisMessageListenerContainer
- 実装されたすべてのインターフェース:
DisposableBean
Redis Pub/Sub リスナーを介して受信したメッセージに
ReactiveSubscription.ChannelMessage
のストリームを提供するコンテナー。ストリームは無限であり、Redis サブスクリプションを登録します。リスニング、変換、メッセージディスパッチの低レベルの詳細を処理します。 コンテナーは、作成時に単一の接続を割り当て、destroy()
で接続を解放することに注意してください。接続は、アプリケーション操作中のノンブロッキング使用を妨げないように先行して割り当てられます。リアクティブインフラストラクチャを使用すると、チャネルの多重化により単一の接続を使用できます。
このクラスはスレッドセーフであり、複数の同時スレッドによるサブスクリプションを許可します。
- 導入:
- 2.1
- 作成者:
- Mark Paluch, Christoph Strobl
- 関連事項:
コンストラクターのサマリー
コンストラクターコンストラクター説明ReactiveRedisMessageListenerContainer
(ReactiveRedisConnectionFactory connectionFactory) ReactiveRedisConnectionFactory
を指定して、新しいReactiveRedisMessageListenerContainer
を作成します。メソッドのサマリー
修飾子と型メソッド説明void
destroy()
reactor.core.publisher.Mono<VoidSE>
現在アクティブなsubscriptions
を返します。reactor.core.publisher.Flux<ReactiveSubscription.Message<StringSE,
StringSE>> receive
(IterableSE<? extends Topic> topics, SubscriptionListener subscriptionListener) 1 つ以上のTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。<C,
B> reactor.core.publisher.Flux<ReactiveSubscription.Message<C, B>> receive
(IterableSE<? extends Topic> topics, RedisSerializationContext.SerializationPair<C> channelSerializer, RedisSerializationContext.SerializationPair<B> messageSerializer) 1 つ以上のTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。<C,
B> reactor.core.publisher.Flux<ReactiveSubscription.Message<C, B>> receive
(IterableSE<? extends Topic> topics, RedisSerializationContext.SerializationPair<C> channelSerializer, RedisSerializationContext.SerializationPair<B> messageSerializer, SubscriptionListener subscriptionListener) 1 つ以上のTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。reactor.core.publisher.Flux<ReactiveSubscription.Message<StringSE,
StringSE>> receive
(ChannelTopic... channelTopics) 1 つ以上のChannelTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。reactor.core.publisher.Flux<ReactiveSubscription.PatternMessage<StringSE,
StringSE, StringSE>> receive
(PatternTopic... patternTopics) 1 つ以上のPatternTopic
をサブスクライブし、ReactiveSubscription.PatternMessage
のストリームを受信します。<C,
B> reactor.core.publisher.Mono<reactor.core.publisher.Flux<ReactiveSubscription.Message<C, B>>> receiveLater
(IterableSE<? extends Topic> topics, RedisSerializationContext.SerializationPair<C> channelSerializer, RedisSerializationContext.SerializationPair<B> messageSerializer) 1 つ以上のTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。reactor.core.publisher.Mono<reactor.core.publisher.Flux<ReactiveSubscription.Message<StringSE,
StringSE>>> receiveLater
(ChannelTopic... channelTopics) reactor.core.publisher.Mono<reactor.core.publisher.Flux<ReactiveSubscription.PatternMessage<StringSE,
StringSE, StringSE>>> receiveLater
(PatternTopic... patternTopics)
コンストラクターの詳細
ReactiveRedisMessageListenerContainer
ReactiveRedisConnectionFactory
を指定して、新しいReactiveRedisMessageListenerContainer
を作成します。- パラメーター:
connectionFactory
- null であってはなりません。
メソッドの詳細
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBean
のdestroy
destroyLater
- 戻り値:
Mono
シグナリングコンテナーの終了。
getActiveSubscriptions
現在アクティブなsubscriptions
を返します。- 戻り値:
- アクティブな
ReactiveSubscription
のSet
SE
receive
public reactor.core.publisher.Flux<ReactiveSubscription.Message<StringSE,StringSE>> receive(ChannelTopic... channelTopics) 1 つ以上のChannelTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。メッセージとチャネル名はString
SE として扱われます。メッセージストリームは、Redis チャネルに遅延サブスクライブし、Subscription
がcancelled
の場合はサブスクライブを解除します。- パラメーター:
channelTopics
- サブスクライブするチャネル。- 戻り値:
- メッセージストリーム。
- 例外:
InvalidDataAccessApiUsageException
-channelTopics
が空の場合。- 関連事項:
receiveLater
public reactor.core.publisher.Mono<reactor.core.publisher.Flux<ReactiveSubscription.Message<StringSE,StringSE>>> receiveLater(ChannelTopic... channelTopics) 1 つ以上のChannelTopic
をサブスクライブし、返されたMono
が完了すると、ReactiveSubscription.ChannelMessage
のストリームを受信します。メッセージとチャネル名はString
SE として扱われます。メッセージストリームは Redis チャネルに遅延サブスクライブし、内部Subscription
がcancelled
の場合はサブスクライブを解除します。返された
Mono
は、接続が指定されたtopics
にサブスクライブされると完了します。返されたMono
をキャンセルすると、接続がサブスクライブ状態のままになる可能性があることに注意してください。- パラメーター:
channelTopics
- サブスクライブするチャネル。- 戻り値:
- メッセージストリーム。
- 例外:
InvalidDataAccessApiUsageException
-channelTopics
が空の場合。- 導入:
- 2.6
receive
public reactor.core.publisher.Flux<ReactiveSubscription.PatternMessage<StringSE,StringSE, receiveStringSE>> (PatternTopic... patternTopics) 1 つ以上のPatternTopic
をサブスクライブし、ReactiveSubscription.PatternMessage
のストリームを受信します。メッセージ、パターン、チャネル名はString
SE として扱われます。メッセージストリームは、Redis チャネルに遅延サブスクライブし、Subscription
がcancelled
の場合はサブスクライブを解除します。- パラメーター:
patternTopics
- サブスクライブするチャネル。- 戻り値:
- メッセージストリーム。
- 例外:
InvalidDataAccessApiUsageException
-patternTopics
が空の場合。- 関連事項:
receiveLater
public reactor.core.publisher.Mono<reactor.core.publisher.Flux<ReactiveSubscription.PatternMessage<StringSE,StringSE, receiveLaterStringSE>>> (PatternTopic... patternTopics) 1 つ以上のPatternTopic
をサブスクライブし、返されたMono
が完了すると、ReactiveSubscription.PatternMessage
のストリームを受信します。メッセージ、パターン、チャネル名はString
SE として扱われます。メッセージストリームは Redis チャネルに遅延サブスクライブし、内部Subscription
がcancelled
の場合はサブスクライブを解除します。返された
Mono
は、接続が指定されたtopics
にサブスクライブされると完了します。返されたMono
をキャンセルすると、接続がサブスクライブ状態のままになる可能性があることに注意してください。- パラメーター:
patternTopics
- サブスクライブするチャネル。- 戻り値:
- メッセージストリーム。
- 例外:
InvalidDataAccessApiUsageException
-patternTopics
が空の場合。- 導入:
- 2.6
receive
public reactor.core.publisher.Flux<ReactiveSubscription.Message<StringSE,StringSE>> receive(IterableSE<? extends Topic> topics, SubscriptionListener subscriptionListener) 1 つ以上のTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。パターンにサブスクライブしている場合、ストリームにはReactiveSubscription.PatternMessage
が含まれている可能性があります。メッセージおよびチャネル名は、指定されたchannelSerializer
およびmessageSerializer
を使用して直列化 / 逆直列化されます。メッセージストリームは、Redis チャネルに遅延してサブスクライブし、Subscription
がcancelled
の場合はサブスクライブを解除します。- パラメーター:
topics
- サブスクライブするチャネル / パターン。subscriptionListener
- サブスクリプション / サブスクリプション解除の通知を受信するリスナー。- 戻り値:
- メッセージストリーム。
- 例外:
InvalidDataAccessApiUsageException
-patternTopics
が空の場合。- 導入:
- 2.6
- 関連事項:
receive
public <C,B> reactor.core.publisher.Flux<ReactiveSubscription.Message<C,B>> receive(IterableSE<? extends Topic> topics, RedisSerializationContext.SerializationPair<C> channelSerializer, RedisSerializationContext.SerializationPair<B> messageSerializer) 1 つ以上のTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。パターンにサブスクライブしている場合、ストリームにはReactiveSubscription.PatternMessage
が含まれている可能性があります。メッセージおよびチャネル名は、指定されたchannelSerializer
およびmessageSerializer
を使用して直列化 / 逆直列化されます。メッセージストリームは、Redis チャネルに遅延してサブスクライブし、Subscription
がcancelled
の場合はサブスクライブを解除します。- パラメーター:
topics
- サブスクライブするチャネル / パターン。- 戻り値:
- メッセージストリーム。
- 例外:
InvalidDataAccessApiUsageException
-topics
が空の場合。- 関連事項:
receive
public <C,B> reactor.core.publisher.Flux<ReactiveSubscription.Message<C,B>> receive(IterableSE<? extends Topic> topics, RedisSerializationContext.SerializationPair<C> channelSerializer, RedisSerializationContext.SerializationPair<B> messageSerializer, SubscriptionListener subscriptionListener) 1 つ以上のTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。パターンにサブスクライブしている場合、ストリームにはReactiveSubscription.PatternMessage
が含まれている可能性があります。メッセージおよびチャネル名は、指定されたchannelSerializer
およびmessageSerializer
を使用して直列化 / 逆直列化されます。メッセージストリームは、Redis チャネルに遅延してサブスクライブし、Subscription
がcancelled
の場合はサブスクライブを解除します。SubscriptionListener
は、サブスクリプション / サブスクリプション解除時に通知され、同期に使用できます。- パラメーター:
topics
- サブスクライブするチャネル。channelSerializer
- チャネル / パターン名をデコードするための直列化ペア。messageSerializer
- メッセージ本文をデコードするための直列化ペア。subscriptionListener
- サブスクリプション / サブスクリプション解除の通知を受信するリスナー。- 戻り値:
- メッセージストリーム。
- 例外:
InvalidDataAccessApiUsageException
-topics
が空の場合。- 導入:
- 2.6
- 関連事項:
receiveLater
public <C,B> reactor.core.publisher.Mono<reactor.core.publisher.Flux<ReactiveSubscription.Message<C,B>>> receiveLater(IterableSE<? extends Topic> topics, RedisSerializationContext.SerializationPair<C> channelSerializer, RedisSerializationContext.SerializationPair<B> messageSerializer) 1 つ以上のTopic
をサブスクライブし、ReactiveSubscription.ChannelMessage
のストリームを受信します。返されたMono
は、接続が指定されたtopics
にサブスクライブされると完了します。返されたMono
をキャンセルすると、接続がサブスクライブ状態のままになる可能性があることに注意してください。- パラメーター:
topics
- サブスクライブするチャネル。channelSerializer
- チャネル / パターン名をデコードするための直列化ペア。messageSerializer
- メッセージ本文をデコードするための直列化ペア。- 戻り値:
- メッセージストリーム。
- 例外:
InvalidDataAccessApiUsageException
-topics
が空の場合。- 導入:
- 2.6