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
ConstructorsConstructorDescriptionReactivePubSubCommandsImpl(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 ofRedisPubSubMessagewrapping 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 ofRedisPubSubMessagecontaining 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:
getDataSourcein interfaceReactiveRedisCommands- Returns:
- the data source.
-
publish
Description copied from interface:ReactivePubSubCommandsPublishes a message to a given channel- Specified by:
publishin interfaceReactivePubSubCommands<V>- Parameters:
channel- the channelmessage- the message- Returns:
- a Uni producing a
nullitem 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:ReactivePubSubCommandsSubscribes to a given channel.- Specified by:
subscribein 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:ReactivePubSubCommandsSubscribes to a given pattern likechan*l.- Specified by:
subscribeToPatternin 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:ReactivePubSubCommandsSame asReactivePubSubCommands.subscribeToPattern(String, Consumer), but instead of receiving only the message payload, it also receives the name of the channel.- Specified by:
subscribeToPatternin 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:ReactivePubSubCommandsSubscribes to the given patterns likechan*l.- Specified by:
subscribeToPatternsin 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:ReactivePubSubCommandsSame asReactivePubSubCommands.subscribeToPatterns(List, Consumer), but instead of only receiving the payload, it also receives the channel name.- Specified by:
subscribeToPatternsin 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:ReactivePubSubCommandsSubscribes to the given channels.- Specified by:
subscribein 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:ReactivePubSubCommandsSame asReactivePubSubCommands.subscribe(List, Consumer), but instead of just receiving the payload, it also receives the channel name.- Specified by:
subscribein 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:ReactivePubSubCommandsSubscribes to a given channel.- Specified by:
subscribein 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:ReactivePubSubCommandsSubscribes to a given pattern likechan*l.- Specified by:
subscribeToPatternin 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:ReactivePubSubCommandsSame asReactivePubSubCommands.subscribeToPatterns(List, Consumer, Runnable, Consumer), but also receives the channel name.- Specified by:
subscribeToPatternin 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:ReactivePubSubCommandsSubscribes to the given patterns likechan*l.- Specified by:
subscribeToPatternsin 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:ReactivePubSubCommandsSame asReactivePubSubCommands.subscribeToPatterns(List, Consumer, Runnable, Consumer), but also receive the channel name.- Specified by:
subscribeToPatternsin 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:ReactivePubSubCommandsSubscribes to the given channels.- Specified by:
subscribein 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:ReactivePubSubCommandsSame asReactivePubSubCommands.subscribe(List, Consumer, Runnable, Consumer)but also receives the channel name.- Specified by:
subscribein 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:ReactivePubSubCommandsSubscribes to the given patterns. This method returns aMultiemitting an item of typeVfor each received message. This emission happens on the I/O thread, so you must not block. UseemitOnto offload the processing to another thread.- Specified by:
subscribeToPatternsin 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:ReactivePubSubCommandsSame asReactivePubSubCommands.subscribeToPatterns(String...), but instead of receiving only the message payload, it receives instances ofRedisPubSubMessagecontaining both the payload and the name of the channel.- Specified by:
subscribeAsMessagesToPatternsin interfaceReactivePubSubCommands<V>- Parameters:
patterns- the patterns- Returns:
- the stream of message
-
subscribe
Description copied from interface:ReactivePubSubCommandsSubscribes to the given channels. This method returns aMultiemitting an item of typeVfor each received message. This emission happens on the I/O thread, so you must not block. UseemitOnto offload the processing to another thread.- Specified by:
subscribein interfaceReactivePubSubCommands<V>- Parameters:
channels- the channels- Returns:
- the stream of message
-
subscribeAsMessages
Description copied from interface:ReactivePubSubCommandsSame asReactivePubSubCommands.subscribe(String...), but instead of receiving the message payload directly, it receives instances ofRedisPubSubMessagewrapping the payload and the channel on which the message has been sent.- Specified by:
subscribeAsMessagesin interfaceReactivePubSubCommands<V>- Parameters:
channels- the channels- Returns:
- the stream of message
-