sealed abstract class ProducerSettings[F[_], K, V] extends AnyRef

ProducerSettings contain settings necessary to create a KafkaProducer. At the very least, this includes a key serializer and a value serializer.

Several convenience functions are provided so that you don't have to work with String values and ProducerConfig for configuration. It's still possible to specify ProducerConfig values with functions like withProperty.

ProducerSettings instances are immutable and all modification functions return a new ProducerSettings instance.

Use ProducerSettings#apply to create a new instance.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProducerSettings
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def blocker: Option[Blocker]

    The Blocker to use for blocking Kafka operations.

    The Blocker to use for blocking Kafka operations. If not explicitly provided, a default Blocker will be created when creating a KafkaProducer instance.

  2. abstract def closeTimeout: FiniteDuration

    The time to wait for the Java KafkaProducer to shutdown.

    The default value is 60 seconds.

  3. abstract def createProducer: F[KafkaByteProducer]

    Creates a new Producer using the properties.

    Creates a new Producer using the properties. Note that this operation should be bracketed, using e.g. Resource, to ensure the close function on the producer is called.

  4. abstract def keySerializer: F[Serializer[F, K]]

    The Serializer to use for serializing record keys.

  5. abstract def parallelism: Int

    The maximum number of ProducerRecords to produce in the same batch.

    The default value is 100.

  6. abstract def properties: Map[String, String]

    Properties which can be provided when creating a Java KafkaProducer instance.

    Properties which can be provided when creating a Java KafkaProducer instance. Numerous functions in ProducerSettings add properties here if the settings are used by the Java KafkaProducer.

  7. abstract def valueSerializer: F[Serializer[F, V]]

    The Serializer to use for serializing record values.

  8. abstract def withAcks(acks: Acks): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified acknowledgements.

    Returns a new ProducerSettings instance with the specified acknowledgements. This is equivalent to setting the following property using the withProperty function, except you can specify it with Acks instead of a String.

    ProducerConfig.ACKS_CONFIG
  9. abstract def withBatchSize(batchSize: Int): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified batch size.

    Returns a new ProducerSettings instance with the specified batch size. This is equivalent to setting the following property using the withProperty function, except you can specify it with an Int instead of a String.

    ProducerConfig.BATCH_SIZE_CONFIG
  10. abstract def withBlocker(blocker: Blocker): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified blocker to use for blocking operations.

  11. abstract def withBootstrapServers(bootstrapServers: String): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified bootstrap servers.

    Returns a new ProducerSettings instance with the specified bootstrap servers. This is equivalent to setting the following property using the withProperty function.

    ProducerConfig.BOOTSTRAP_SERVERS_CONFIG
  12. abstract def withClientId(clientId: String): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified client id.

    Returns a new ProducerSettings instance with the specified client id. This is equivalent to setting the following property using the withProperty function.

    ProducerConfig.CLIENT_ID_CONFIG
  13. abstract def withCloseTimeout(closeTimeout: FiniteDuration): ProducerSettings[F, K, V]

    Creates a new ProducerSettings with the specified closeTimeout.

  14. abstract def withCreateProducer(createProducer: (Map[String, String]) ⇒ F[KafkaByteProducer]): ProducerSettings[F, K, V]

    Creates a new ProducerSettings with the specified function for creating Producer instances in createProducer.

    Creates a new ProducerSettings with the specified function for creating Producer instances in createProducer. The argument is the properties of the settings instance.

  15. abstract def withDeliveryTimeout(deliveryTimeout: FiniteDuration): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified delivery timeout.

    Returns a new ProducerSettings instance with the specified delivery timeout. This is equivalent to setting the following property using the withProperty function, except you can specify it with a FiniteDuration instead of a String.

    ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG
  16. abstract def withEnableIdempotence(enableIdempotence: Boolean): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified idempotence setting.

    Returns a new ProducerSettings instance with the specified idempotence setting. This is equivalent to setting the following property using the withProperty function, except you can specify it with a Boolean instead of a String.

    ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG
  17. abstract def withLinger(linger: FiniteDuration): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified linger.

    Returns a new ProducerSettings instance with the specified linger. This is equivalent to setting the following property using the withProperty function, except you can specify it with a FiniteDuration instead of a String.

    ProducerConfig.LINGER_MS_CONFIG
  18. abstract def withMaxInFlightRequestsPerConnection(maxInFlightRequestsPerConnection: Int): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified max in-flight requests per connection.

    Returns a new ProducerSettings instance with the specified max in-flight requests per connection. This is equivalent to setting the following property using the withProperty function, except you can specify it with an Int instead of a String.

    ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION
  19. abstract def withParallelism(parallelism: Int): ProducerSettings[F, K, V]

    Creates a new ProducerSettings with the specified parallelism.

  20. abstract def withProperties(properties: Map[String, String]): ProducerSettings[F, K, V]

    Includes the specified keys and values as properties.

    Includes the specified keys and values as properties. The keys should be part of the ProducerConfig keys, and the values should be valid choices for the keys.

  21. abstract def withProperties(properties: (String, String)*): ProducerSettings[F, K, V]

    Includes the specified keys and values as properties.

    Includes the specified keys and values as properties. The keys should be part of the ProducerConfig keys, and the values should be valid choices for the keys.

  22. abstract def withProperty(key: String, value: String): ProducerSettings[F, K, V]

    Includes a property with the specified key and value.

    Includes a property with the specified key and value. The key should be one of the keys in ProducerConfig, and the value should be a valid choice for the key.

  23. abstract def withRequestTimeout(requestTimeout: FiniteDuration): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified request timeout.

    Returns a new ProducerSettings instance with the specified request timeout. This is equivalent to setting the following property using the withProperty function, except you can specify it with a FiniteDuration instead of a String.

    ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG
  24. abstract def withRetries(retries: Int): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified retries.

    Returns a new ProducerSettings instance with the specified retries. This is equivalent to setting the following property using the withProperty function, except you can specify it with an Int instead of a String.

    ProducerConfig.RETRIES_CONFIG
  25. abstract def withTransactionTimeout(transactionTimeout: FiniteDuration): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified transaction timeout.

    Returns a new ProducerSettings instance with the specified transaction timeout. This is equivalent to setting the following property using the withProperty function, except you can specify it with a FiniteDuration instead of a String.

    ProducerConfig.TRANSACTION_TIMEOUT_CONFIG
  26. abstract def withTransactionalId(transactionalId: String): ProducerSettings[F, K, V]

    Returns a new ProducerSettings instance with the specified transactional ID.

    Returns a new ProducerSettings instance with the specified transactional ID. This is equivalent to setting the following property using the withProperty function.

    ProducerConfig.TRANSACTIONAL_ID_CONFIG

Concrete 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. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @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
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped