インターフェース ReactiveSubscription
public interface ReactiveSubscription
リアクティブインフラストラクチャを使用した Redis チャネルのサブスクリプション。
ReactiveSubscription
を使用すると、channels
および patterns
にサブスクライブできます。この ReactiveSubscription
に登録されているチャネルとパターンのメッセージのみを送信する ReactiveSubscription.ChannelMessage
stream
へのアクセスを提供します。リアクティブ Redis 接続には、複数のサブスクリプションを含めることができます。2 つ以上のサブスクリプションが同じターゲット(チャネル / パターン)にサブスクライブし、一方がサブスクライブを解除した場合、Redis が Pub/Sub サブスクリプションを処理した方法により、もう一方はターゲットのメッセージを受信しなくなります。
- 導入:
- 2.1
- 作成者:
- Mark Paluch, Christoph Strobl
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インターフェース説明static class
Redis チャネルメッセージの値オブジェクト。static interface
ReactiveSubscription.Message
は、Redis pub/sub 内の Redis チャネルメッセージを表します。static class
パターンサブスクリプションから受信した Redis チャネルメッセージの値オブジェクト。メソッドのサマリー
修飾子と型メソッド説明reactor.core.publisher.Mono<VoidSE>
cancel()
このサブスクリプションの(名前付き)チャネルを返します。このサブスクリプションのチャネルパターンを返します。reactor.core.publisher.Mono<VoidSE>
pSubscribe
(ByteBufferSE... patterns) チャネルpatterns
をサブスクライブし、これらを現在のサブスクリプションに追加します。reactor.core.publisher.Mono<VoidSE>
getPatterns()
パターンに一致するすべてのチャネルのサブスクリプションをキャンセルします。}。reactor.core.publisher.Mono<VoidSE>
pUnsubscribe
(ByteBufferSE... patterns) 指定されたパターンに一致するすべてのチャネルのサブスクリプションをキャンセルします。reactor.core.publisher.Flux<ReactiveSubscription.Message<ByteBufferSE,
ByteBufferSE>> receive()
messages
を発行するメッセージストリームを取得します。reactor.core.publisher.Mono<VoidSE>
subscribe
(ByteBufferSE... channels) channels
をサブスクライブし、これらを現在のサブスクリプションに追加します。reactor.core.publisher.Mono<VoidSE>
すべてのchannels
の現在のサブスクリプションをキャンセルします。reactor.core.publisher.Mono<VoidSE>
unsubscribe
(ByteBufferSE... channels) 指定されたすべてのチャネルの現在のサブスクリプションをキャンセルします。
メソッドの詳細
subscribe
channels
をサブスクライブし、これらを現在のサブスクリプションに追加します。- パラメーター:
channels
- チャネル名。空であってはなりません。- 戻り値:
- チャネルサブスクリプションが登録されると完了する空の
Mono
。
pSubscribe
チャネルpatterns
をサブスクライブし、これらを現在のサブスクリプションに追加します。- パラメーター:
patterns
- チャネルパターン。空であってはなりません。- 戻り値:
- パターンサブスクリプションが登録されると完了する空の
Mono
。
unsubscribe
reactor.core.publisher.Mono<VoidSE> unsubscribe()すべてのchannels
の現在のサブスクリプションをキャンセルします。- 戻り値:
- チャネルサブスクリプションの登録が解除されると完了する空の
Mono
。
unsubscribe
指定されたすべてのチャネルの現在のサブスクリプションをキャンセルします。- パラメーター:
channels
- チャネル名。空であってはなりません。- 戻り値:
- チャネルサブスクリプションの登録が解除されると完了する空の
Mono
。
pUnsubscribe
reactor.core.publisher.Mono<VoidSE> pUnsubscribe()getPatterns()
パターンに一致するすべてのチャネルのサブスクリプションをキャンセルします。}。- 戻り値:
- パターンサブスクリプションの登録が解除されると完了する空の
Mono
。
pUnsubscribe
指定されたパターンに一致するすべてのチャネルのサブスクリプションをキャンセルします。- パラメーター:
patterns
- 空であってはなりません。- 戻り値:
- パターンサブスクリプションの登録が解除されると完了する空の
Mono
。
getChannels
SetSE<ByteBufferSE> getChannels()このサブスクリプションの(名前付き)チャネルを返します。- 戻り値:
- 名前付きチャネルの
Set
SE。
getPatterns
SetSE<ByteBufferSE> getPatterns()このサブスクリプションのチャネルパターンを返します。- 戻り値:
- チャネルパターンの
Set
SE。
receive
reactor.core.publisher.Flux<ReactiveSubscription.Message<ByteBufferSE,ByteBufferSE>> receive()messages
を発行するメッセージストリームを取得します。結果のメッセージストリームには、サブスクライブおよび登録されたchannels
およびpatterns
のメッセージのみが含まれます。ストリームパブリッシングは
ConnectableFlux
を使用して、ストリームをホットシーケンスに変換します。需要がない場合、放出は一時停止されます。その間に受信したメッセージはバッファリングされます。このストリームは、すべてのサブスクライバーがサブスクライブを解除した場合、またはこのSubscription
がis terminated
である場合に終了します。- 戻り値:
-
ReactiveSubscription.Message
ストリームを放出するFlux
。
cancel
reactor.core.publisher.Mono<VoidSE> cancel()すべてのchannels
およびpatterns
のサブスクライブを解除し、すべてのアクティブなmessage streams
の終了をリクエストします。アクティブなストリームはCancellationException
SE で終了します。- 戻り値:
- 終了が完了すると完了する
Mono
。