final case class ConsumerSettings(properties: Map[String, AnyRef] = Map.empty, closeTimeout: zio.Duration = 30.seconds, pollTimeout: zio.Duration = 50.millis, commitTimeout: zio.Duration = ConsumerSettings.defaultCommitTimeout, offsetRetrieval: OffsetRetrieval = OffsetRetrieval.Auto(), rebalanceListener: RebalanceListener = RebalanceListener.noop, restartStreamOnRebalancing: Boolean = false, runloopTimeout: zio.Duration = ConsumerSettings.defaultRunloopTimeout, fetchStrategy: FetchStrategy = QueueSizeBasedFetchStrategy()) extends Product with Serializable
Settings for the consumer.
To stay source compatible with future releases, you are recommended to construct the settings as follows:
ConsumerSettings(bootstrapServers) .withGroupId(groupId) .withProperties(properties) .... etc.
- Alphabetic
- By Inheritance
- ConsumerSettings
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ConsumerSettings(properties: Map[String, AnyRef] = Map.empty, closeTimeout: zio.Duration = 30.seconds, pollTimeout: zio.Duration = 50.millis, commitTimeout: zio.Duration = ConsumerSettings.defaultCommitTimeout, offsetRetrieval: OffsetRetrieval = OffsetRetrieval.Auto(), rebalanceListener: RebalanceListener = RebalanceListener.noop, restartStreamOnRebalancing: Boolean = false, runloopTimeout: zio.Duration = ConsumerSettings.defaultRunloopTimeout, fetchStrategy: FetchStrategy = QueueSizeBasedFetchStrategy())
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- val closeTimeout: zio.Duration
- val commitTimeout: zio.Duration
- def driverSettings: Map[String, AnyRef]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val fetchStrategy: FetchStrategy
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- val offsetRetrieval: OffsetRetrieval
- val pollTimeout: zio.Duration
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val properties: Map[String, AnyRef]
- val rebalanceListener: RebalanceListener
- val restartStreamOnRebalancing: Boolean
- val runloopTimeout: zio.Duration
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withBootstrapServers(servers: List[String]): ConsumerSettings
- def withClientId(clientId: String): ConsumerSettings
- def withCloseTimeout(timeout: zio.Duration): ConsumerSettings
- def withCommitTimeout(timeout: zio.Duration): ConsumerSettings
- def withCredentials(credentialsStore: KafkaCredentialStore): ConsumerSettings
- def withFetchStrategy(fetchStrategy: FetchStrategy): ConsumerSettings
WARNING: zio.kafka.consumer.fetch.FetchStrategy is an EXPERIMENTAL API and may change in an incompatible way without notice in any zio-kafka version.
WARNING: zio.kafka.consumer.fetch.FetchStrategy is an EXPERIMENTAL API and may change in an incompatible way without notice in any zio-kafka version.
- fetchStrategy
The fetch strategy which selects which partitions can fetch data in the next poll. The default is to use the zio.kafka.consumer.fetch.QueueSizeBasedFetchStrategy with a
maxPartitionQueueSizeparameter of 1024, which is calculated by taking 2 * the defaultmax.poll.recordsof 500, rounded to the nearest power of 2.
- def withGroupId(groupId: String): ConsumerSettings
- def withGroupInstanceId(groupInstanceId: String): ConsumerSettings
- def withMaxPartitionQueueSize(maxPartitionQueueSize: Int): ConsumerSettings
- maxPartitionQueueSize
Maximum number of records to be buffered per partition. This buffer improves throughput and supports varying downstream message processing time, while maintaining some backpressure. Large values effectively disable backpressure at the cost of high memory usage, low values will effectively disable prefetching in favour of low memory consumption. The number of records that is fetched on every poll is controlled by the
max.poll.recordssetting, the number of records fetched for every partition is somewhere between 0 andmax.poll.records. A value that is a power of 2 offers somewhat better queueing performance. The default value for this parameter is 1024, calculated by taking 2 * the defaultmax.poll.recordsof 500, rounded to the nearest power of 2.
- def withOffsetRetrieval(retrieval: OffsetRetrieval): ConsumerSettings
- def withPollTimeout(timeout: zio.Duration): ConsumerSettings
The maximum time to block while polling the Kafka consumer.
The maximum time to block while polling the Kafka consumer. The Kafka consumer will return earlier when the maximum number of record to poll (see https://kafka.apache.org/documentation/#consumerconfigs_max.poll.records) is collected.
The default is
50mswhich to good for low latency applications. Set this higher, e.g.500msfor better throughput. - def withProperties(kvs: Map[String, AnyRef]): ConsumerSettings
- def withProperties(kvs: (String, AnyRef)*): ConsumerSettings
- def withProperty(key: String, value: AnyRef): ConsumerSettings
- def withRebalanceListener(listener: RebalanceListener): ConsumerSettings
- def withRestartStreamOnRebalancing(value: Boolean): ConsumerSettings
- value
When
true_all_ streams are restarted during a rebalance, including those streams that are not revoked. The default isfalse.
- def withRunloopTimeout(timeout: zio.Duration): ConsumerSettings
- timeout
Internal timeout for each iteration of the command processing and polling loop, use to detect stalling. This should be much larger than the pollTimeout and the time it takes to process chunks of records. If your consumer is not subscribed for long periods during its lifetime, this timeout should take that into account as well. When the timeout expires, the plainStream/partitionedStream/etc will fail with a Consumer.RunloopTimeout.