Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard

Dispatches each observation to an immutable observer snapshot in iteration order.

Link copied to clipboard
class RedisCommandBus(redisTemplate: ReactiveStringRedisTemplate, topicConverter: CommandTopicConverter = DefaultCommandTopicConverter, pollTimeout: Duration = Duration.ofSeconds(2), recoveryOptions: RedisStreamRecoveryOptions = RedisStreamRecoveryOptions.DEFAULT, messageBusObserver: RedisMessageBusObserver = RedisMessageBusObserver.NOOP, retentionOptions: RedisStreamRetentionOptions = RedisStreamRetentionOptions.DEFAULT, failurePolicy: TransportFailurePolicy = TransportFailurePolicy.DEFAULT) : TransportCommandBus

The command bus on Redis Streams: a TransportCommandBus over a RedisStreamTransport, with streams from topicConverter. Undecodable entries are reported to messageBusObserver and stay pending (RedisRecordDecodeFailureHandler).

Link copied to clipboard
class RedisDomainEventBus(redisTemplate: ReactiveStringRedisTemplate, topicConverter: EventStreamTopicConverter = DefaultEventStreamTopicConverter, pollTimeout: Duration = Duration.ofSeconds(2), recoveryOptions: RedisStreamRecoveryOptions = RedisStreamRecoveryOptions.DEFAULT, messageBusObserver: RedisMessageBusObserver = RedisMessageBusObserver.NOOP, retentionOptions: RedisStreamRetentionOptions = RedisStreamRetentionOptions.DEFAULT, failurePolicy: TransportFailurePolicy = TransportFailurePolicy.DEFAULT) : TransportDomainEventBus

The domain event stream bus on Redis Streams: a TransportDomainEventBus over a RedisStreamTransport, with streams from topicConverter. Undecodable entries are reported to messageBusObserver and stay pending (RedisRecordDecodeFailureHandler).

Link copied to clipboard

Message payloads and Throwable instances are deliberately excluded so observers cannot retain sensitive payloads or failure object graphs.

Link copied to clipboard

Receives synchronous Redis message-bus recovery and decode observations.

Link copied to clipboard

The Redis decode-failure policy: report the record to the observer and the log (without its payload) and leave it pending, so the consumer continues with the next entry.

Link copied to clipboard
class RedisStateEventBus(redisTemplate: ReactiveStringRedisTemplate, topicConverter: StateEventTopicConverter = DefaultStateEventTopicConverter, pollTimeout: Duration = Duration.ofSeconds(2), recoveryOptions: RedisStreamRecoveryOptions = RedisStreamRecoveryOptions.DEFAULT, messageBusObserver: RedisMessageBusObserver = RedisMessageBusObserver.NOOP, retentionOptions: RedisStreamRetentionOptions = RedisStreamRetentionOptions.DEFAULT, failurePolicy: TransportFailurePolicy = TransportFailurePolicy.DEFAULT) : TransportStateEventBus

The state event bus on Redis Streams: a TransportStateEventBus over a RedisStreamTransport, with streams from topicConverter. Undecodable entries are reported to messageBusObserver and stay pending (RedisRecordDecodeFailureHandler).

Link copied to clipboard
data class RedisStreamRecoveryOptions(val enabled: Boolean = true, val minIdleTime: Duration = Duration.ofMinutes(5), val interval: Duration = Duration.ofSeconds(30), val batchSize: Long = 100)
Link copied to clipboard
data class RedisStreamRetentionOptions(val maxLength: Long? = null, val maxAge: Duration? = null, val approximate: Boolean = true, val consumerIdleTimeout: Duration? = DEFAULT_CONSUMER_IDLE_TIMEOUT)

What the Redis stream bus keeps: stream entries and consumers.

Link copied to clipboard
class RedisStreamTransport(redisTemplate: ReactiveStringRedisTemplate, pollTimeout: Duration = Duration.ofSeconds(2), recoveryOptions: RedisStreamRecoveryOptions = RedisStreamRecoveryOptions.DEFAULT, messageBusObserver: RedisMessageBusObserver = RedisMessageBusObserver.NOOP, retentionOptions: RedisStreamRetentionOptions = RedisStreamRetentionOptions.DEFAULT, failurePolicy: TransportFailurePolicy = TransportFailurePolicy.DEFAULT) : Transport

Redis Streams as a Transport: a topic is a stream, a message is one entry whose MESSAGE_FIELD field holds the payload (keys, timestamps and headers are not written).

Properties

Link copied to clipboard