case class ProducerImpl[F[_], K, V](p: Producer[K, V])(implicit F: Async[F]) extends ProducerApi[F, K, V] with Product with Serializable
- Alphabetic
- By Inheritance
- ProducerImpl
- Serializable
- Product
- Equals
- ProducerApi
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ProducerImpl(p: Producer[K, V])(implicit F: Async[F])
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
- def abortTransaction: F[Unit]
- Definition Classes
- ProducerImpl → ProducerApi
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def beginTransaction: F[Unit]
- Definition Classes
- ProducerImpl → ProducerApi
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def close(timeout: FiniteDuration): F[Unit]
- Definition Classes
- ProducerImpl → ProducerApi
- def close: F[Unit]
- Definition Classes
- ProducerImpl → ProducerApi
- def commitTransaction: F[Unit]
- Definition Classes
- ProducerImpl → ProducerApi
- final def contrabimap[A, B](f: (A) => K, g: (B) => V): ProducerApi[F, A, B]
- Definition Classes
- ProducerApi
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def flush: F[Unit]
- Definition Classes
- ProducerImpl → ProducerApi
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initTransactions: F[Unit]
- Definition Classes
- ProducerImpl → ProducerApi
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def mapK[G[_]](f: ~>[F, G]): ProducerApi[G, K, V]
- Definition Classes
- ProducerApi
- def metrics: F[Map[MetricName, Metric]]
- Definition Classes
- ProducerImpl → ProducerApi
- 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 p: Producer[K, V]
- def partitionsFor(topic: String): F[Seq[PartitionInfo]]
- Definition Classes
- ProducerImpl → ProducerApi
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def sendAndForget(record: ProducerRecord[K, V]): F[Unit]
The returned F[_] completes as soon as the underlying Producer.send(record) call returns.
The returned F[_] completes as soon as the underlying Producer.send(record) call returns. This is immediately after the producer enqueues the record, not after Kafka accepts the write. If the producer's internal queue is full, it will block until the record can be enqueued. The returned F[_] will only contain an error if the producer.send(record) call throws an exception. Using this operation, you will not know when Kafka accepts the write, have no way to access the resulting RecordMetadata, and will not know if the write ultimately fails. This allows for the highest write throughput, and is typically OK. You can still use Producer configs to control write behavior, e.g. enable.idempotence, acks, retries, max.in.flight.requests.per.connection, etc. If your program requires confirmation of record persistence before proceeding, you should call sendSync or sendAsync.
- Definition Classes
- ProducerImpl → ProducerApi
- def sendAsync(record: ProducerRecord[K, V]): F[RecordMetadata]
Similar to sendSync, except the returned F[_] is completed asynchronously, usually on the producer's I/O thread.
Similar to sendSync, except the returned F[_] is completed asynchronously, usually on the producer's I/O thread. TODO does this have different blocking semantics than sendSync?
- Definition Classes
- ProducerImpl → ProducerApi
- def sendOffsetsToTransaction(offsets: Map[TopicPartition, OffsetAndMetadata], consumerGroupId: String): F[Unit]
- Definition Classes
- ProducerImpl → ProducerApi
- def sendSync(record: ProducerRecord[K, V]): F[RecordMetadata]
The returned F[_] completes after Kafka accepts the write, and the RecordMetadata is available.
The returned F[_] completes after Kafka accepts the write, and the RecordMetadata is available. This operation is completely synchronous and blocking: it calls get() on the returned Java Future. The returned F[_] will contain a failure if either the producer.send(record) or the future.get() call throws an exception. You should use this method if your program should not proceed until Kafka accepts the write, or you need to use the RecordMetadata, or you need to explicitly handle any possible error.
- Definition Classes
- ProducerImpl → ProducerApi
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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()