インターフェース ReactiveSubscription
public interface ReactiveSubscription
リアクティブインフラストラクチャを使用した Redis チャネルのサブスクリプション。
ReactiveSubscription を使用すると、channels および patterns にサブスクライブできます。この ReactiveSubscription に登録されているチャネルとパターンのメッセージのみを送信する ReactiveSubscription.ChannelMessage stream へのアクセスを提供します。リアクティブ Redis 接続には、複数のサブスクリプションを含めることができます。2 つ以上のサブスクリプションが同じターゲット(チャネル / パターン)にサブスクライブし、一方がサブスクライブを解除した場合、Redis が Pub/Sub サブスクリプションを処理した方法により、もう一方はターゲットのメッセージを受信しなくなります。
- 導入:
- 2.1
- 作成者:
- Mark Paluch, Christoph Strobl
ネストされたクラスの概要
ネストされたクラス修飾子と型インターフェース説明static classRedis チャネルメッセージの値オブジェクト。static interfaceReactiveSubscription.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()このサブスクリプションの(名前付き)チャネルを返します。- 戻り値:
- 名前付きチャネルの
SetSE。
getPatterns
SetSE<ByteBufferSE> getPatterns()このサブスクリプションのチャネルパターンを返します。- 戻り値:
- チャネルパターンの
SetSE。
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の終了をリクエストします。アクティブなストリームはCancellationExceptionSE で終了します。- 戻り値:
- 終了が完了すると完了する
Mono。