Packages

final case class ProducerSettings(closeTimeout: zio.Duration = 30.seconds, sendBufferSize: Int = 4096, authErrorRetrySchedule: Schedule[Any, Throwable, Any] = Schedule.stop, properties: Map[String, AnyRef] = Map.empty) extends Product with Serializable

Settings for the Producer.

To stay source compatible with future releases, you are recommended to construct the settings as follows:

ProducerSettings(bootstrapServers)
  .withLinger(500.millis)
  .withCompression(ProducerCompression.Zstd(3))
  .... etc.
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProducerSettings
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ProducerSettings(closeTimeout: zio.Duration = 30.seconds, sendBufferSize: Int = 4096, authErrorRetrySchedule: Schedule[Any, Throwable, Any] = Schedule.stop, properties: Map[String, AnyRef] = Map.empty)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val authErrorRetrySchedule: Schedule[Any, Throwable, Any]
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  7. val closeTimeout: zio.Duration
  8. def driverSettings: Map[String, AnyRef]
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  15. def productElementNames: Iterator[String]
    Definition Classes
    Product
  16. val properties: Map[String, AnyRef]
  17. val sendBufferSize: Int
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. def withAuthErrorRetrySchedule(authErrorRetrySchedule: Schedule[Any, Throwable, Any]): ProducerSettings

    authErrorRetrySchedule

    The schedule at which the producer will retry producing, even when producing fails with an org.apache.kafka.common.errors.AuthorizationException or org.apache.kafka.common.errors.AuthenticationException. This setting helps with failed producing due to too slow authorization or authentication in the broker. For example, to retry 5 times, spaced by 500ms, you can set this to

    Schedule.recurs(5) && Schedule.spaced(500.millis)

    The default is Schedule.stop which is, to fail the producer on the first auth error. ⚠️ Retrying can cause records to be produced in a different order than the order in which they were given to zio-kafka.

  23. def withBootstrapServers(servers: List[String]): ProducerSettings
  24. def withClientId(clientId: String): ProducerSettings
  25. def withCloseTimeout(duration: zio.Duration): ProducerSettings
  26. def withCompression(compression: ProducerCompression): ProducerSettings

    compression

    The compression codec to use when publishing records. Compression is of full batches of data, so the efficacy of batching will also impact the compression ratio (more batching means better compression). See also withLinger.

  27. def withCredentials(credentialsStore: KafkaCredentialStore): ProducerSettings
  28. def withLinger(lingerDuration: zio.Duration): ProducerSettings

    lingerDuration

    The maximum amount of time a record is allowed to linger in the producer's internal buffer. Higher values allow for better batching (especially important when compression is used), lower values reduce latency and memory usage.

  29. def withProperties(kvs: Map[String, AnyRef]): ProducerSettings
  30. def withProperties(kvs: (String, AnyRef)*): ProducerSettings
  31. def withProperty(key: String, value: AnyRef): ProducerSettings
  32. def withSendBufferSize(sendBufferSize: Int): ProducerSettings

    sendBufferSize

    The maximum number of record chunks that can queue up while waiting for the underlying producer to become available.

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped