public interface ConsumerBuilder
Consumer.| Modifier and Type | Interface and Description |
|---|---|
static interface |
ConsumerBuilder.AutoTrackingStrategy
Auto-tracking strategy.
|
static interface |
ConsumerBuilder.FilterConfiguration
Filter configuration.
|
static interface |
ConsumerBuilder.FlowConfiguration
Message flow configuration.
|
static interface |
ConsumerBuilder.ManualTrackingStrategy
Manual tracking strategy.
|
| Modifier and Type | Method and Description |
|---|---|
ConsumerBuilder.AutoTrackingStrategy |
autoTrackingStrategy()
|
Consumer |
build()
Create the configured
Consumer |
ConsumerBuilder |
consumerUpdateListener(ConsumerUpdateListener consumerUpdateListener)
Set the listener for single active consumer updates.
|
ConsumerBuilder.FilterConfiguration |
filter()
Configure the filtering.
|
ConsumerBuilder.FlowConfiguration |
flow()
Configure flow of messages.
|
ConsumerBuilder.ManualTrackingStrategy |
manualTrackingStrategy()
|
ConsumerBuilder |
messageHandler(MessageHandler messageHandler)
The callback for inbound messages.
|
ConsumerBuilder |
name(String name)
The logical name of the
Consumer. |
ConsumerBuilder |
noTrackingStrategy()
Disable server-side offset tracking.
|
ConsumerBuilder |
offset(OffsetSpecification offsetSpecification)
The offset to start consuming from.
|
ConsumerBuilder |
singleActiveConsumer()
Declare the consumer as a single active consumer.
|
ConsumerBuilder |
stream(String stream)
The stream to consume from.
|
ConsumerBuilder |
subscriptionListener(SubscriptionListener subscriptionListener)
Callback on subscription.
|
ConsumerBuilder |
superStream(String superStream)
Set the consumer to consume from a super stream (partitioned stream).
|
ConsumerBuilder stream(String stream)
stream - ConsumerBuilder superStream(String superStream)
This is meant to be used with singleActiveConsumer().
This is an experimental API, subject to change.
RabbitMQ 3.11 or more is required.
superStream - singleActiveConsumer()ConsumerBuilder offset(OffsetSpecification offsetSpecification)
The default is OffsetSpecification.next() (the end of the stream).
offsetSpecification - ConsumerBuilder messageHandler(MessageHandler messageHandler)
messageHandler - ConsumerBuilder name(String name)
Consumer.
Set a logical name to enable offset tracking.
name - ConsumerBuilder singleActiveConsumer()
A single active consumer must set up a name with name(String).
Instances of the same application can declare several single active consumer instances with the same name and only one will be active at a time, meaning it will be the only one to get messages from the broker.
If the active consumer instance stops or crashes, the broker will choose a new active instance among the remaining ones.
This is an experimental API, subject to change.
RabbitMQ 3.11 or more is required.
name(String)ConsumerBuilder consumerUpdateListener(ConsumerUpdateListener consumerUpdateListener)
This listener is usually set when manual offset tracking is used, either server-side or with an external datastore.
This is an experimental API, subject to change.
RabbitMQ 3.11 or more is required.
consumerUpdateListener - singleActiveConsumer(),
ConsumerUpdateListener,
manualTrackingStrategy()ConsumerBuilder subscriptionListener(SubscriptionListener subscriptionListener)
Can be used to set the offset specification before subscribing to the stream.
This is an experimental API, subject to change.
subscriptionListener - the listenerSubscriptionListenerConsumerBuilder.ManualTrackingStrategy manualTrackingStrategy()
ConsumerBuilder.AutoTrackingStrategy autoTrackingStrategy()
ConsumerBuilder.AutoTrackingStrategy.
This is the default tracking strategy.
ConsumerBuilder noTrackingStrategy()
Useful when singleActiveConsumer() is enabled and an external store is used for
offset tracking. This avoids automatic server-side offset tracking to kick in.
ConsumerBuilder.FilterConfiguration filter()
RabbitMQ 3.13 or more is required.
ConsumerBuilder.FlowConfiguration flow()
ConsumerFlowStrategy.creditOnChunkArrival(),
MessageHandler.Context.processed()Copyright © 2024 Broadcom Inc. and/or its subsidiaries. All rights reserved.