Interface ConsumerBuilder
-
public interface ConsumerBuilderAPI to configure and create aConsumer.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceConsumerBuilder.AutoTrackingStrategyAuto-tracking strategy.static interfaceConsumerBuilder.FilterConfigurationFilter configuration.static interfaceConsumerBuilder.FlowConfigurationMessage flow configuration.static interfaceConsumerBuilder.ManualTrackingStrategyManual tracking strategy.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ConsumerBuilder.AutoTrackingStrategyautoTrackingStrategy()Consumerbuild()Create the configuredConsumerConsumerBuilderconsumerUpdateListener(ConsumerUpdateListener consumerUpdateListener)Set the listener for single active consumer updates.ConsumerBuilder.FilterConfigurationfilter()Configure the filtering.ConsumerBuilder.FlowConfigurationflow()Configure flow of messages.ConsumerBuilder.ManualTrackingStrategymanualTrackingStrategy()ConsumerBuildermessageHandler(MessageHandler messageHandler)The callback for inbound messages.ConsumerBuildername(String name)The logical name of theConsumer.ConsumerBuildernoTrackingStrategy()Disable server-side offset tracking.ConsumerBuilderoffset(OffsetSpecification offsetSpecification)The offset to start consuming from.ConsumerBuildersingleActiveConsumer()Declare the consumer as a single active consumer.ConsumerBuilderstream(String stream)The stream to consume from.ConsumerBuildersubscriptionListener(SubscriptionListener subscriptionListener)Callback on subscription.ConsumerBuildersuperStream(String superStream)Set the consumer to consume from a super stream (partitioned stream).
-
-
-
Method Detail
-
stream
ConsumerBuilder stream(String stream)
The stream to consume from.- Parameters:
stream-- Returns:
- this builder instance
-
superStream
ConsumerBuilder superStream(String superStream)
Set the consumer to consume from a super stream (partitioned stream).This is meant to be used with
singleActiveConsumer().This is an experimental API, subject to change.
RabbitMQ 3.11 or more is required.
- Parameters:
superStream-- Returns:
- this builder instance
- See Also:
singleActiveConsumer()
-
offset
ConsumerBuilder offset(OffsetSpecification offsetSpecification)
The offset to start consuming from.The default is
OffsetSpecification.next()(the end of the stream).- Parameters:
offsetSpecification-- Returns:
- this builder instance
-
messageHandler
ConsumerBuilder messageHandler(MessageHandler messageHandler)
The callback for inbound messages.- Parameters:
messageHandler-- Returns:
- this builder instance
-
name
ConsumerBuilder name(String name)
The logical name of theConsumer.Set a logical name to enable offset tracking.
- Parameters:
name-- Returns:
- this builder instance
-
singleActiveConsumer
ConsumerBuilder singleActiveConsumer()
Declare the consumer as a single active consumer.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.
- Returns:
- this builder instance
- Since:
- 0.6.0
- See Also:
name(String)
-
consumerUpdateListener
ConsumerBuilder consumerUpdateListener(ConsumerUpdateListener consumerUpdateListener)
Set the listener for single active consumer updates.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.
- Parameters:
consumerUpdateListener-- Returns:
- this builder instance
- Since:
- 0.6.0
- See Also:
singleActiveConsumer(),ConsumerUpdateListener,manualTrackingStrategy()
-
subscriptionListener
ConsumerBuilder subscriptionListener(SubscriptionListener subscriptionListener)
Callback on subscription.Can be used to set the offset specification before subscribing to the stream.
This is an experimental API, subject to change.
- Parameters:
subscriptionListener- the listener- Returns:
- this builder instance
- Since:
- 0.5.0
- See Also:
SubscriptionListener
-
manualTrackingStrategy
ConsumerBuilder.ManualTrackingStrategy manualTrackingStrategy()
- Returns:
- the manual tracking strategy
-
autoTrackingStrategy
ConsumerBuilder.AutoTrackingStrategy autoTrackingStrategy()
EnableConsumerBuilder.AutoTrackingStrategy.This is the default tracking strategy.
- Returns:
- the auto-tracking strategy
-
noTrackingStrategy
ConsumerBuilder noTrackingStrategy()
Disable server-side offset tracking.Useful when
singleActiveConsumer()is enabled and an external store is used for offset tracking. This avoids automatic server-side offset tracking to kick in.- Returns:
- this builder instance
- Since:
- 0.6.0
-
filter
ConsumerBuilder.FilterConfiguration filter()
Configure the filtering.RabbitMQ 3.13 or more is required.
- Returns:
- the filtering configuration
-
flow
ConsumerBuilder.FlowConfiguration flow()
Configure flow of messages.- Returns:
- the flow configuration
- Since:
- 0.11.0
- See Also:
ConsumerFlowStrategy.creditOnChunkArrival(),MessageHandler.Context.processed()
-
-