Class KafkaSource.Builder<V>
java.lang.Object
com.arpnetworking.commons.builder.OvalBuilder<S>
com.arpnetworking.metrics.common.sources.BaseSource.Builder<KafkaSource.Builder<V>,KafkaSource<V>>
com.arpnetworking.metrics.common.sources.KafkaSource.Builder<V>
- Type Parameters:
V
- the type of data of value in kafkaConsumerRecords
- All Implemented Interfaces:
com.arpnetworking.commons.builder.Builder<KafkaSource<V>>
- Enclosing class:
- KafkaSource<V>
public static final class KafkaSource.Builder<V>
extends BaseSource.Builder<KafkaSource.Builder<V>,KafkaSource<V>>
Builder pattern class for
KafkaSource
.- Author:
- Joey Jackson (jjackson at dropbox dot com)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected KafkaSource.Builder<V>
self()
Called by setters to always return appropriate subclass ofBaseSource.Builder
, even from setters of base class.setBackoffTime
(Duration backoffTime) Sets the amount of time theKafkaSource
will wait to retry an operation after receiving an exception.setBufferSize
(Integer bufferSize) Sets the size of the buffer to holdConsumerRecord
s from theConsumer
before they are parsed.setConsumer
(org.apache.kafka.clients.consumer.Consumer<?, V> consumer) SetsConsumer
.setNumWorkerThreads
(Integer numWorkerThreads) Sets the number of threads that will parseConsumerRecord
s from theConsumer
.SetsParser
.setPeriodicMetrics
(com.arpnetworking.metrics.incubator.PeriodicMetrics periodicMetrics) SetsPeriodicMetrics
for instrumentation ofKafkaSource
.setPollTime
(Duration pollTime) Sets the duration the consumer will poll kafka for each consume.setShutdownAwaitTime
(Duration shutdownAwaitTime) Sets the amount of time theKafkaSource
will wait to shutdown theRunnableConsumer
thread.Methods inherited from class com.arpnetworking.metrics.common.sources.BaseSource.Builder
setName
Methods inherited from class com.arpnetworking.commons.builder.OvalBuilder
build, clone, clone, construct, isSelfValidating, toString, validate
-
Constructor Details
-
Builder
public Builder()Public constructor.
-
-
Method Details
-
setConsumer
SetsConsumer
. Cannot be null.- Parameters:
consumer
- TheConsumer
.- Returns:
- This instance of
KafkaSource.Builder
.
-
setParser
SetsParser
. Cannot be null.- Parameters:
value
- TheParser
.- Returns:
- This instance of
KafkaSource.Builder
.
-
setPollTime
Sets the duration the consumer will poll kafka for each consume. Cannot be null or negative.- Parameters:
pollTime
- TheDuration
of each poll call made by theKafkaConsumer
.- Returns:
- This instance of
KafkaSource.Builder
.
-
setShutdownAwaitTime
Sets the amount of time theKafkaSource
will wait to shutdown theRunnableConsumer
thread. Default is 10 seconds. Cannot be null or negative.- Parameters:
shutdownAwaitTime
- TheDuration
theKafkaSource
will wait to shutdown theRunnableConsumer
thread.- Returns:
- This instance of
KafkaSource.Builder
.
-
setBackoffTime
Sets the amount of time theKafkaSource
will wait to retry an operation after receiving an exception. Default is 1 second. Cannot be null or negative.- Parameters:
backoffTime
- TheDuration
theKafkaSource
will wait to retry an operation on exception.- Returns:
- This instance of
KafkaSource.Builder
.
-
setNumWorkerThreads
Sets the number of threads that will parseConsumerRecord
s from theConsumer
. Default is 1. Must be greater than or equal to 1.- Parameters:
numWorkerThreads
- The number of parsing worker threads.- Returns:
- This instance of
KafkaSource.Builder
.
-
setBufferSize
Sets the size of the buffer to holdConsumerRecord
s from theConsumer
before they are parsed. Default is 1000. Must be greater than or equal to 1.- Parameters:
bufferSize
- The size of the buffer.- Returns:
- This instance of
KafkaSource.Builder
.
-
setPeriodicMetrics
public KafkaSource.Builder<V> setPeriodicMetrics(com.arpnetworking.metrics.incubator.PeriodicMetrics periodicMetrics) SetsPeriodicMetrics
for instrumentation ofKafkaSource
.- Parameters:
periodicMetrics
- ThePeriodicMetrics
for theKafkaSource
.- Returns:
- This instance of
KafkaSource.Builder
.
-
self
Description copied from class:BaseSource.Builder
Called by setters to always return appropriate subclass ofBaseSource.Builder
, even from setters of base class.- Specified by:
self
in classBaseSource.Builder<KafkaSource.Builder<V>,
KafkaSource<V>> - Returns:
- instance with correct
BaseSource.Builder
class type.
-