Class ReactivePubSubCommandsImpl<V>
java.lang.Object
io.quarkus.redis.runtime.datasource.AbstractRedisCommands
io.quarkus.redis.runtime.datasource.ReactivePubSubCommandsImpl<V>
- All Implemented Interfaces:
ReactivePubSubCommands<V>
,ReactiveRedisCommands
public class ReactivePubSubCommandsImpl<V>
extends AbstractRedisCommands
implements ReactivePubSubCommands<V>
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.quarkus.redis.datasource.pubsub.ReactivePubSubCommands
ReactivePubSubCommands.ReactiveRedisSubscriber
-
Field Summary
Fields inherited from class io.quarkus.redis.runtime.datasource.AbstractRedisCommands
marshaller, redis
-
Constructor Summary
ConstructorDescriptionReactivePubSubCommandsImpl
(ReactiveRedisDataSourceImpl ds, Type classOfMessage) -
Method Summary
Modifier and TypeMethodDescriptionio.smallrye.mutiny.Uni<Void>
Publishes a message to a given channelio.smallrye.mutiny.Multi<V>
Subscribes to the given channels.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
Subscribes to a given channel.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
Subscribes to a given channel.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
Same asReactivePubSubCommands.subscribe(List, Consumer)
, but instead of just receiving the payload, it also receives the channel name.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribe
(List<String> channels, BiConsumer<String, V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Same asReactivePubSubCommands.subscribe(List, Consumer, Runnable, Consumer)
but also receives the channel name.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
Subscribes to the given channels.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribe
(List<String> channels, Consumer<V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Subscribes to the given channels.io.smallrye.mutiny.Multi<RedisPubSubMessage<V>>
subscribeAsMessages
(String... channels) Same asReactivePubSubCommands.subscribe(String...)
, but instead of receiving the message payload directly, it receives instances ofRedisPubSubMessage
wrapping the payload and the channel on which the message has been sent.io.smallrye.mutiny.Multi<RedisPubSubMessage<V>>
subscribeAsMessagesToPatterns
(String... patterns) Same asReactivePubSubCommands.subscribeToPatterns(String...)
, but instead of receiving only the message payload, it receives instances ofRedisPubSubMessage
containing both the payload and the name of the channel.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribeToPattern
(String pattern, BiConsumer<String, V> onMessage) Same asReactivePubSubCommands.subscribeToPattern(String, Consumer)
, but instead of receiving only the message payload, it also receives the name of the channel.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribeToPattern
(String pattern, BiConsumer<String, V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Same asReactivePubSubCommands.subscribeToPatterns(List, Consumer, Runnable, Consumer)
, but also receives the channel name.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribeToPattern
(String pattern, Consumer<V> onMessage) Subscribes to a given pattern likechan*l
.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribeToPattern
(String pattern, Consumer<V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Subscribes to a given pattern likechan*l
.io.smallrye.mutiny.Multi<V>
subscribeToPatterns
(String... patterns) Subscribes to the given patterns.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribeToPatterns
(List<String> patterns, BiConsumer<String, V> onMessage) Same asReactivePubSubCommands.subscribeToPatterns(List, Consumer)
, but instead of only receiving the payload, it also receives the channel name.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribeToPatterns
(List<String> patterns, BiConsumer<String, V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Same asReactivePubSubCommands.subscribeToPatterns(List, Consumer, Runnable, Consumer)
, but also receive the channel name.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribeToPatterns
(List<String> patterns, Consumer<V> onMessage) Subscribes to the given patterns likechan*l
.io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber>
subscribeToPatterns
(List<String> patterns, Consumer<V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Subscribes to the given patterns likechan*l
.Methods inherited from class io.quarkus.redis.runtime.datasource.AbstractRedisCommands
execute, isMap
-
Constructor Details
-
ReactivePubSubCommandsImpl
-
-
Method Details
-
getDataSource
- Specified by:
getDataSource
in interfaceReactiveRedisCommands
- Returns:
- the data source.
-
publish
Description copied from interface:ReactivePubSubCommands
Publishes a message to a given channel- Specified by:
publish
in interfaceReactivePubSubCommands<V>
- Parameters:
channel
- the channelmessage
- the message- Returns:
- a Uni producing a
null
item once the message is sent, a failure otherwise.
-
subscribe
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribe(String channel, Consumer<V> onMessage) Description copied from interface:ReactivePubSubCommands
Subscribes to a given channel.- Specified by:
subscribe
in interfaceReactivePubSubCommands<V>
- Parameters:
channel
- the channelonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the given channel, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPattern
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribeToPattern(String pattern, Consumer<V> onMessage) Description copied from interface:ReactivePubSubCommands
Subscribes to a given pattern likechan*l
.- Specified by:
subscribeToPattern
in interfaceReactivePubSubCommands<V>
- Parameters:
pattern
- the patternonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the channels matching the pattern, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPattern
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribeToPattern(String pattern, BiConsumer<String, V> onMessage) Description copied from interface:ReactivePubSubCommands
Same asReactivePubSubCommands.subscribeToPattern(String, Consumer)
, but instead of receiving only the message payload, it also receives the name of the channel.- Specified by:
subscribeToPattern
in interfaceReactivePubSubCommands<V>
- Parameters:
pattern
- the patternonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the channels matching the pattern, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed. The first parameter is the name of the channel. The second parameter is the payload.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPatterns
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribeToPatterns(List<String> patterns, Consumer<V> onMessage) Description copied from interface:ReactivePubSubCommands
Subscribes to the given patterns likechan*l
.- Specified by:
subscribeToPatterns
in interfaceReactivePubSubCommands<V>
- Parameters:
patterns
- the patternsonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the channels matching the pattern, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPatterns
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribeToPatterns(List<String> patterns, BiConsumer<String, V> onMessage) Description copied from interface:ReactivePubSubCommands
Same asReactivePubSubCommands.subscribeToPatterns(List, Consumer)
, but instead of only receiving the payload, it also receives the channel name.- Specified by:
subscribeToPatterns
in interfaceReactivePubSubCommands<V>
- Parameters:
patterns
- the patternsonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the channels matching the pattern, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed. The first parameter is the channel name. The second one if the payload.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribe
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribe(List<String> channels, Consumer<V> onMessage) Description copied from interface:ReactivePubSubCommands
Subscribes to the given channels.- Specified by:
subscribe
in interfaceReactivePubSubCommands<V>
- Parameters:
channels
- the channelsonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the given channels, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribe
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribe(List<String> channels, BiConsumer<String, V> onMessage) Description copied from interface:ReactivePubSubCommands
Same asReactivePubSubCommands.subscribe(List, Consumer)
, but instead of just receiving the payload, it also receives the channel name.- Specified by:
subscribe
in interfaceReactivePubSubCommands<V>
- Parameters:
channels
- the channelsonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the given channels, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed. The first parameter is the channel name. The second one if the payload.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribe
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribe(String channel, Consumer<V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Description copied from interface:ReactivePubSubCommands
Subscribes to a given channel.- Specified by:
subscribe
in interfaceReactivePubSubCommands<V>
- Parameters:
channel
- the channelonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the given channel, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onEnd
- the end handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onException
- the exception handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPattern
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribeToPattern(String pattern, Consumer<V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Description copied from interface:ReactivePubSubCommands
Subscribes to a given pattern likechan*l
.- Specified by:
subscribeToPattern
in interfaceReactivePubSubCommands<V>
- Parameters:
pattern
- the patternonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the channels matching the pattern, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onEnd
- the end handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onException
- the exception handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPattern
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribeToPattern(String pattern, BiConsumer<String, V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Description copied from interface:ReactivePubSubCommands
Same asReactivePubSubCommands.subscribeToPatterns(List, Consumer, Runnable, Consumer)
, but also receives the channel name.- Specified by:
subscribeToPattern
in interfaceReactivePubSubCommands<V>
- Parameters:
pattern
- the patternonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the channels matching the pattern, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed. The first parameter is the name of the channel. The second parameter is the payload.onEnd
- the end handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onException
- the exception handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPatterns
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribeToPatterns(List<String> patterns, Consumer<V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Description copied from interface:ReactivePubSubCommands
Subscribes to the given patterns likechan*l
.- Specified by:
subscribeToPatterns
in interfaceReactivePubSubCommands<V>
- Parameters:
patterns
- the patternsonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the channels matching the pattern, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onEnd
- the end handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onException
- the exception handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPatterns
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribeToPatterns(List<String> patterns, BiConsumer<String, V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Description copied from interface:ReactivePubSubCommands
Same asReactivePubSubCommands.subscribeToPatterns(List, Consumer, Runnable, Consumer)
, but also receive the channel name.- Specified by:
subscribeToPatterns
in interfaceReactivePubSubCommands<V>
- Parameters:
patterns
- the patternsonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the channels matching the pattern, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed. The first parameter is the name of the channel. The second parameter is the payload.onEnd
- the end handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onException
- the exception handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribe
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribe(List<String> channels, Consumer<V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Description copied from interface:ReactivePubSubCommands
Subscribes to the given channels.- Specified by:
subscribe
in interfaceReactivePubSubCommands<V>
- Parameters:
channels
- the channelsonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the given channels, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onEnd
- the end handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onException
- the exception handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribe
public io.smallrye.mutiny.Uni<ReactivePubSubCommands.ReactiveRedisSubscriber> subscribe(List<String> channels, BiConsumer<String, V> onMessage, Runnable onEnd, Consumer<Throwable> onException) Description copied from interface:ReactivePubSubCommands
Same asReactivePubSubCommands.subscribe(List, Consumer, Runnable, Consumer)
but also receives the channel name.- Specified by:
subscribe
in interfaceReactivePubSubCommands<V>
- Parameters:
channels
- the channelsonMessage
- the message consumer. Be aware that this callback is invoked for each message sent to the given channels, and is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed. The first parameter is the name of the channel. The second parameter is the payload.onEnd
- the end handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.onException
- the exception handler. Be aware that this callback is invoked on the I/O thread. So, you must not block. Offload to a separate thread if needed.- Returns:
- the subscriber object that lets you unsubscribe
-
subscribeToPatterns
Description copied from interface:ReactivePubSubCommands
Subscribes to the given patterns. This method returns aMulti
emitting an item of typeV
for each received message. This emission happens on the I/O thread, so you must not block. UseemitOn
to offload the processing to another thread.- Specified by:
subscribeToPatterns
in interfaceReactivePubSubCommands<V>
- Parameters:
patterns
- the patterns- Returns:
- the stream of message
-
subscribeAsMessagesToPatterns
public io.smallrye.mutiny.Multi<RedisPubSubMessage<V>> subscribeAsMessagesToPatterns(String... patterns) Description copied from interface:ReactivePubSubCommands
Same asReactivePubSubCommands.subscribeToPatterns(String...)
, but instead of receiving only the message payload, it receives instances ofRedisPubSubMessage
containing both the payload and the name of the channel.- Specified by:
subscribeAsMessagesToPatterns
in interfaceReactivePubSubCommands<V>
- Parameters:
patterns
- the patterns- Returns:
- the stream of message
-
subscribe
Description copied from interface:ReactivePubSubCommands
Subscribes to the given channels. This method returns aMulti
emitting an item of typeV
for each received message. This emission happens on the I/O thread, so you must not block. UseemitOn
to offload the processing to another thread.- Specified by:
subscribe
in interfaceReactivePubSubCommands<V>
- Parameters:
channels
- the channels- Returns:
- the stream of message
-
subscribeAsMessages
Description copied from interface:ReactivePubSubCommands
Same asReactivePubSubCommands.subscribe(String...)
, but instead of receiving the message payload directly, it receives instances ofRedisPubSubMessage
wrapping the payload and the channel on which the message has been sent.- Specified by:
subscribeAsMessages
in interfaceReactivePubSubCommands<V>
- Parameters:
channels
- the channels- Returns:
- the stream of message
-