class ProducerSettings[K, V] extends AnyRef
Settings for producers. See akka.kafka.producer
section in
reference.conf. Note that the companion object provides
apply
and create
functions for convenient construction of the settings, together with
the with
methods.
The constructor is Internal API.
- Source
- ProducerSettings.scala
- Alphabetic
- By Inheritance
- ProducerSettings
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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]) @native()
- val closeProducerOnStop: Boolean
- val closeTimeout: FiniteDuration
- def createKafkaProducer(): Producer[K, V]
Create a
Producer
instance from these settings.Create a
Producer
instance from these settings.This will fail with
IllegalStateException
if asynchronous enrichment is set up -- always prefer createKafkaProducerAsync() or createKafkaProducerCompletionStage().- Exceptions thrown
IllegalStateException
if asynchronous enrichment is set viawithEnrichAsync
orwithEnrichCompletionStage
, you must usecreateKafkaProducerAsync
/createKafkaProducerCompletionStage
to apply it
- def createKafkaProducerAsync()(implicit executionContext: ExecutionContext): Future[Producer[K, V]]
Scala API.
Scala API.
Create a Kafka Producer instance from these settings (without blocking for
enriched
). - def createKafkaProducerCompletionStage(executor: Executor): CompletionStage[Producer[K, V]]
Java API.
Java API.
Create a Kafka Producer instance from these settings (without blocking for
enriched
).- executor
Executor for asynchronous producer creation
- val dispatcher: String
- val enrichAsync: Option[(ProducerSettings[K, V]) => Future[ProducerSettings[K, V]]]
- def enriched: Future[ProducerSettings[K, V]]
Applies
enrichAsync
to complement these settings from asynchronous sources. - val eosCommitInterval: FiniteDuration
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getProperties: Map[String, AnyRef]
Get the Kafka producer settings as map.
- def getProperty(key: String): String
Java API: Get a raw property.
Java API: Get a raw property.
null
if it is not defined. - def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val keySerializerOpt: Option[Serializer[K]]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val parallelism: Int
- val producerFactorySync: Option[(ProducerSettings[K, V]) => Producer[K, V]]
- val properties: Map[String, String]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- ProducerSettings → AnyRef → Any
- val transactionIdPrefix: String
- val valueSerializerOpt: Option[Serializer[V]]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()
- def withBootstrapServers(bootstrapServers: String): ProducerSettings[K, V]
A comma-separated list of host/port pairs to use for establishing the initial connection to the Kafka cluster.
- def withClientId(clientId: String): ProducerSettings[K, V]
An id string to pass to the server when making requests.
An id string to pass to the server when making requests. The purpose of this is to be able to track the source of requests beyond just ip/port by allowing a logical application name to be included in server-side request logging.
- def withCloseProducerOnStop(closeProducerOnStop: Boolean): ProducerSettings[K, V]
Call
KafkaProducer.close
on the org.apache.kafka.clients.producer.KafkaProducer when the producer stage receives a shutdown signal. - def withCloseTimeout(closeTimeout: Duration): ProducerSettings[K, V]
Java API: Duration to wait for
KafkaProducer.close
to finish. - def withCloseTimeout(closeTimeout: FiniteDuration): ProducerSettings[K, V]
Duration to wait for
KafkaProducer.close
to finish. - def withDispatcher(dispatcher: String): ProducerSettings[K, V]
Fully qualified config path which holds the dispatcher configuration to be used by the producer stages.
Fully qualified config path which holds the dispatcher configuration to be used by the producer stages. Some blocking may occur. When this value is empty, the dispatcher configured for the stream will be used.
- def withEnrichAsync(value: (ProducerSettings[K, V]) => Future[ProducerSettings[K, V]]): ProducerSettings[K, V]
Scala API.
Scala API. A hook to allow for resolving some settings asynchronously.
- Since
2.0.0
- def withEnrichCompletionStage(value: Function[ProducerSettings[K, V], CompletionStage[ProducerSettings[K, V]]]): ProducerSettings[K, V]
Java API.
Java API. A hook to allow for resolving some settings asynchronously.
- Since
2.0.0
- def withEosCommitInterval(eosCommitInterval: Duration): ProducerSettings[K, V]
Java API: The time interval to commit a transaction when using the
Transactional.sink
orTransactional.flow
. - def withEosCommitInterval(eosCommitInterval: FiniteDuration): ProducerSettings[K, V]
The time interval to commit a transaction when using the
Transactional.sink
orTransactional.flow
. - def withParallelism(parallelism: Int): ProducerSettings[K, V]
Tuning parameter of how many sends that can run in parallel.
- def withProducer(producer: Producer[K, V]): ProducerSettings[K, V]
Replaces the default Kafka producer creation logic with an external producer.
Replaces the default Kafka producer creation logic with an external producer. This will also set
closeProducerOnStop = false
by default. - def withProducerFactory(factory: (ProducerSettings[K, V]) => Producer[K, V]): ProducerSettings[K, V]
Replaces the default Kafka producer creation logic.
- def withProperties(properties: Map[String, String]): ProducerSettings[K, V]
Java API: The raw properties of the kafka-clients driver, see constants in org.apache.kafka.clients.producer.ProducerConfig.
- def withProperties(properties: (String, String)*): ProducerSettings[K, V]
Scala API: The raw properties of the kafka-clients driver, see constants in org.apache.kafka.clients.producer.ProducerConfig.
- def withProperties(properties: Map[String, String]): ProducerSettings[K, V]
Scala API: The raw properties of the kafka-clients driver, see constants in org.apache.kafka.clients.producer.ProducerConfig.
- def withProperty(key: String, value: String): ProducerSettings[K, V]
The raw properties of the kafka-clients driver, see constants in org.apache.kafka.clients.producer.ProducerConfig.
- def withTransactionIdPrefix(transactionIdPrefix: String): ProducerSettings[K, V]
The prefix to append to the generated transaction id when using the
Transactional.sink
orTransactional.flow
.
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def producerFactory: (ProducerSettings[K, V]) => Producer[K, V]
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) Use createKafkaProducer(), createKafkaProducerAsync(), or createKafkaProducerCompletionStage() to get a new KafkaProducer