Class/Object

monix.kafka

KafkaConsumerConfig

Related Docs: object KafkaConsumerConfig | package kafka

Permalink

final case class KafkaConsumerConfig(bootstrapServers: List[String], fetchMinBytes: Int, groupId: String, heartbeatInterval: FiniteDuration, maxPartitionFetchBytes: Int, sessionTimeout: FiniteDuration, sslKeyPassword: Option[String], sslKeyStorePassword: Option[String], sslKeyStoreLocation: Option[String], sslTrustStoreLocation: Option[String], sslTrustStorePassword: Option[String], autoOffsetReset: AutoOffsetReset, connectionsMaxIdleTime: FiniteDuration, enableAutoCommit: Boolean, excludeInternalTopics: Boolean, maxPollRecords: Int, receiveBufferInBytes: Int, requestTimeout: FiniteDuration, saslKerberosServiceName: Option[String], securityProtocol: SecurityProtocol, sendBufferInBytes: Int, sslEnabledProtocols: List[SSLProtocol], sslKeystoreType: String, sslProtocol: SSLProtocol, sslProvider: Option[String], sslTruststoreType: String, checkCRCs: Boolean, clientId: String, fetchMaxWaitTime: FiniteDuration, metadataMaxAge: FiniteDuration, reconnectBackoffTime: FiniteDuration, retryBackoffTime: FiniteDuration, observableCommitType: ObservableCommitType, observableCommitOrder: ObservableCommitOrder, observableSeekToEndOnStart: Boolean) extends Product with Serializable

Configuration for Kafka Consumer.

For the official documentation on the available configuration options, see Consumer Configs on kafka.apache.org.

bootstrapServers

is the bootstrap.servers setting, a list of host/port pairs to use for establishing the initial connection to the Kafka cluster.

fetchMinBytes

is the fetch.min.bytes setting, the minimum amount of data the server should return for a fetch request.

groupId

is the group.id setting, a unique string that identifies the consumer group this consumer belongs to.

heartbeatInterval

is the heartbeat.interval.ms setting, the expected time between heartbeats to the consumer coordinator when using Kafka's group management facilities.

maxPartitionFetchBytes

is the max.partition.fetch.bytes setting, the maximum amount of data per-partition the server will return.

sessionTimeout

is the session.timeout.ms setting, the timeout used to detect failures when using Kafka's group management facilities.

sslKeyPassword

is the ssl.key.password setting and represents the password of the private key in the key store file. This is optional for client.

sslKeyStorePassword

is the ssl.keystore.password setting, being the password of the private key in the key store file. This is optional for client.

sslKeyStoreLocation

is the ssl.keystore.location setting and represents the location of the key store file. This is optional for client and can be used for two-way authentication for client.

sslTrustStoreLocation

is the ssl.truststore.location setting and is the location of the trust store file.

sslTrustStorePassword

is the ssl.truststore.password setting and is the password for the trust store file.

autoOffsetReset

is the auto.offset.reset setting, specifying what to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server (e.g. because that data has been deleted).

connectionsMaxIdleTime

is the connections.max.idle.ms setting and specifies how much time to wait before closing idle connections.

enableAutoCommit

is the enable.auto.commit setting. If true the consumer's offset will be periodically committed in the background.

excludeInternalTopics

is the exclude.internal.topics setting. Whether records from internal topics (such as offsets) should be exposed to the consumer. If set to true the only way to receive records from an internal topic is subscribing to it.

maxPollRecords

is the max.poll.records setting, the maximum number of records returned in a single call to poll().

receiveBufferInBytes

is the receive.buffer.bytes setting, the size of the TCP receive buffer (SO_RCVBUF) to use when reading data.

requestTimeout

is the request.timeout.ms setting, The configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapses the client will resend the request if necessary or fail the request if retries are exhausted.

saslKerberosServiceName

is the sasl.kerberos.service.name setting, being the Kerberos principal name that Kafka runs as.

securityProtocol

is the security.protocol setting, being the protocol used to communicate with brokers.

sendBufferInBytes

is the send.buffer.bytes setting, being the size of the TCP send buffer (SO_SNDBUF) to use when sending data.

sslEnabledProtocols

is the ssl.enabled.protocols setting, being the list of protocols enabled for SSL connections.

sslKeystoreType

is the ssl.keystore.type setting, being the file format of the key store file.

sslProtocol

is the ssl.protocol setting, being the SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities.

sslProvider

is the ssl.provider setting, being the name of the security provider used for SSL connections. Default value is the default security provider of the JVM.

sslTruststoreType

is the ssl.truststore.type setting, being the file format of the trust store file.

checkCRCs

is the check.crcs setting, specifying to automatically check the CRC32 of the records consumed. This ensures no on-the-wire or on-disk corruption to the messages occurred. This check adds some overhead, so it may be disabled in cases seeking extreme performance.

clientId

is the client.id setting, 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.

fetchMaxWaitTime

is the fetch.max.wait.ms setting, the maximum amount of time the server will block before answering the fetch request if there isn't sufficient data to immediately satisfy the requirement given by fetch.min.bytes.

metadataMaxAge

is the metadata.max.age.ms setting. The period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new brokers or partitions.

reconnectBackoffTime

is the reconnect.backoff.ms setting. The amount of time to wait before attempting to reconnect to a given host. This avoids repeatedly connecting to a host in a tight loop. This backoff applies to all requests sent by the consumer to the broker.

retryBackoffTime

is the retry.backoff.ms setting. The amount of time to wait before attempting to retry a failed request to a given topic partition. This avoids repeatedly sending requests in a tight loop under some failure scenarios.

observableCommitType

is the monix.observable.commit.type setting. Represents the type of commit to make when the enableAutoCommit setting is set to false, in which case the observable has to commit on every batch.

observableCommitOrder

is the monix.observable.commit.order setting. Specifies when the commit should happen, like before we receive the acknowledgement from downstream, or afterwards.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. KafkaConsumerConfig
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new KafkaConsumerConfig(bootstrapServers: List[String], fetchMinBytes: Int, groupId: String, heartbeatInterval: FiniteDuration, maxPartitionFetchBytes: Int, sessionTimeout: FiniteDuration, sslKeyPassword: Option[String], sslKeyStorePassword: Option[String], sslKeyStoreLocation: Option[String], sslTrustStoreLocation: Option[String], sslTrustStorePassword: Option[String], autoOffsetReset: AutoOffsetReset, connectionsMaxIdleTime: FiniteDuration, enableAutoCommit: Boolean, excludeInternalTopics: Boolean, maxPollRecords: Int, receiveBufferInBytes: Int, requestTimeout: FiniteDuration, saslKerberosServiceName: Option[String], securityProtocol: SecurityProtocol, sendBufferInBytes: Int, sslEnabledProtocols: List[SSLProtocol], sslKeystoreType: String, sslProtocol: SSLProtocol, sslProvider: Option[String], sslTruststoreType: String, checkCRCs: Boolean, clientId: String, fetchMaxWaitTime: FiniteDuration, metadataMaxAge: FiniteDuration, reconnectBackoffTime: FiniteDuration, retryBackoffTime: FiniteDuration, observableCommitType: ObservableCommitType, observableCommitOrder: ObservableCommitOrder, observableSeekToEndOnStart: Boolean)

    Permalink

    bootstrapServers

    is the bootstrap.servers setting, a list of host/port pairs to use for establishing the initial connection to the Kafka cluster.

    fetchMinBytes

    is the fetch.min.bytes setting, the minimum amount of data the server should return for a fetch request.

    groupId

    is the group.id setting, a unique string that identifies the consumer group this consumer belongs to.

    heartbeatInterval

    is the heartbeat.interval.ms setting, the expected time between heartbeats to the consumer coordinator when using Kafka's group management facilities.

    maxPartitionFetchBytes

    is the max.partition.fetch.bytes setting, the maximum amount of data per-partition the server will return.

    sessionTimeout

    is the session.timeout.ms setting, the timeout used to detect failures when using Kafka's group management facilities.

    sslKeyPassword

    is the ssl.key.password setting and represents the password of the private key in the key store file. This is optional for client.

    sslKeyStorePassword

    is the ssl.keystore.password setting, being the password of the private key in the key store file. This is optional for client.

    sslKeyStoreLocation

    is the ssl.keystore.location setting and represents the location of the key store file. This is optional for client and can be used for two-way authentication for client.

    sslTrustStoreLocation

    is the ssl.truststore.location setting and is the location of the trust store file.

    sslTrustStorePassword

    is the ssl.truststore.password setting and is the password for the trust store file.

    autoOffsetReset

    is the auto.offset.reset setting, specifying what to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server (e.g. because that data has been deleted).

    connectionsMaxIdleTime

    is the connections.max.idle.ms setting and specifies how much time to wait before closing idle connections.

    enableAutoCommit

    is the enable.auto.commit setting. If true the consumer's offset will be periodically committed in the background.

    excludeInternalTopics

    is the exclude.internal.topics setting. Whether records from internal topics (such as offsets) should be exposed to the consumer. If set to true the only way to receive records from an internal topic is subscribing to it.

    maxPollRecords

    is the max.poll.records setting, the maximum number of records returned in a single call to poll().

    receiveBufferInBytes

    is the receive.buffer.bytes setting, the size of the TCP receive buffer (SO_RCVBUF) to use when reading data.

    requestTimeout

    is the request.timeout.ms setting, The configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapses the client will resend the request if necessary or fail the request if retries are exhausted.

    saslKerberosServiceName

    is the sasl.kerberos.service.name setting, being the Kerberos principal name that Kafka runs as.

    securityProtocol

    is the security.protocol setting, being the protocol used to communicate with brokers.

    sendBufferInBytes

    is the send.buffer.bytes setting, being the size of the TCP send buffer (SO_SNDBUF) to use when sending data.

    sslEnabledProtocols

    is the ssl.enabled.protocols setting, being the list of protocols enabled for SSL connections.

    sslKeystoreType

    is the ssl.keystore.type setting, being the file format of the key store file.

    sslProtocol

    is the ssl.protocol setting, being the SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities.

    sslProvider

    is the ssl.provider setting, being the name of the security provider used for SSL connections. Default value is the default security provider of the JVM.

    sslTruststoreType

    is the ssl.truststore.type setting, being the file format of the trust store file.

    checkCRCs

    is the check.crcs setting, specifying to automatically check the CRC32 of the records consumed. This ensures no on-the-wire or on-disk corruption to the messages occurred. This check adds some overhead, so it may be disabled in cases seeking extreme performance.

    clientId

    is the client.id setting, 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.

    fetchMaxWaitTime

    is the fetch.max.wait.ms setting, the maximum amount of time the server will block before answering the fetch request if there isn't sufficient data to immediately satisfy the requirement given by fetch.min.bytes.

    metadataMaxAge

    is the metadata.max.age.ms setting. The period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new brokers or partitions.

    reconnectBackoffTime

    is the reconnect.backoff.ms setting. The amount of time to wait before attempting to reconnect to a given host. This avoids repeatedly connecting to a host in a tight loop. This backoff applies to all requests sent by the consumer to the broker.

    retryBackoffTime

    is the retry.backoff.ms setting. The amount of time to wait before attempting to retry a failed request to a given topic partition. This avoids repeatedly sending requests in a tight loop under some failure scenarios.

    observableCommitType

    is the monix.observable.commit.type setting. Represents the type of commit to make when the enableAutoCommit setting is set to false, in which case the observable has to commit on every batch.

    observableCommitOrder

    is the monix.observable.commit.order setting. Specifies when the commit should happen, like before we receive the acknowledgement from downstream, or afterwards.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. val autoOffsetReset: AutoOffsetReset

    Permalink

    is the auto.offset.reset setting, specifying what to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server (e.g.

    is the auto.offset.reset setting, specifying what to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server (e.g. because that data has been deleted).

  6. val bootstrapServers: List[String]

    Permalink

    is the bootstrap.servers setting, a list of host/port pairs to use for establishing the initial connection to the Kafka cluster.

  7. val checkCRCs: Boolean

    Permalink

    is the check.crcs setting, specifying to automatically check the CRC32 of the records consumed.

    is the check.crcs setting, specifying to automatically check the CRC32 of the records consumed. This ensures no on-the-wire or on-disk corruption to the messages occurred. This check adds some overhead, so it may be disabled in cases seeking extreme performance.

  8. val clientId: String

    Permalink

    is the client.id setting, an id string to pass to the server when making requests.

    is the client.id setting, 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.

  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. val connectionsMaxIdleTime: FiniteDuration

    Permalink

    is the connections.max.idle.ms setting and specifies how much time to wait before closing idle connections.

  11. val enableAutoCommit: Boolean

    Permalink

    is the enable.auto.commit setting.

    is the enable.auto.commit setting. If true the consumer's offset will be periodically committed in the background.

  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. val excludeInternalTopics: Boolean

    Permalink

    is the exclude.internal.topics setting.

    is the exclude.internal.topics setting. Whether records from internal topics (such as offsets) should be exposed to the consumer. If set to true the only way to receive records from an internal topic is subscribing to it.

  14. val fetchMaxWaitTime: FiniteDuration

    Permalink

    is the fetch.max.wait.ms setting, the maximum amount of time the server will block before answering the fetch request if there isn't sufficient data to immediately satisfy the requirement given by fetch.min.bytes.

  15. val fetchMinBytes: Int

    Permalink

    is the fetch.min.bytes setting, the minimum amount of data the server should return for a fetch request.

  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. val groupId: String

    Permalink

    is the group.id setting, a unique string that identifies the consumer group this consumer belongs to.

  19. val heartbeatInterval: FiniteDuration

    Permalink

    is the heartbeat.interval.ms setting, the expected time between heartbeats to the consumer coordinator when using Kafka's group management facilities.

  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. val maxPartitionFetchBytes: Int

    Permalink

    is the max.partition.fetch.bytes setting, the maximum amount of data per-partition the server will return.

  22. val maxPollRecords: Int

    Permalink

    is the max.poll.records setting, the maximum number of records returned in a single call to poll().

  23. val metadataMaxAge: FiniteDuration

    Permalink

    is the metadata.max.age.ms setting.

    is the metadata.max.age.ms setting. The period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new brokers or partitions.

  24. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  25. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  27. val observableCommitOrder: ObservableCommitOrder

    Permalink

    is the monix.observable.commit.order setting.

    is the monix.observable.commit.order setting. Specifies when the commit should happen, like before we receive the acknowledgement from downstream, or afterwards.

  28. val observableCommitType: ObservableCommitType

    Permalink

    is the monix.observable.commit.type setting.

    is the monix.observable.commit.type setting. Represents the type of commit to make when the enableAutoCommit setting is set to false, in which case the observable has to commit on every batch.

  29. val observableSeekToEndOnStart: Boolean

    Permalink
  30. val receiveBufferInBytes: Int

    Permalink

    is the receive.buffer.bytes setting, the size of the TCP receive buffer (SO_RCVBUF) to use when reading data.

  31. val reconnectBackoffTime: FiniteDuration

    Permalink

    is the reconnect.backoff.ms setting.

    is the reconnect.backoff.ms setting. The amount of time to wait before attempting to reconnect to a given host. This avoids repeatedly connecting to a host in a tight loop. This backoff applies to all requests sent by the consumer to the broker.

  32. val requestTimeout: FiniteDuration

    Permalink

    is the request.timeout.ms setting, The configuration controls the maximum amount of time the client will wait for the response of a request.

    is the request.timeout.ms setting, The configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapses the client will resend the request if necessary or fail the request if retries are exhausted.

  33. val retryBackoffTime: FiniteDuration

    Permalink

    is the retry.backoff.ms setting.

    is the retry.backoff.ms setting. The amount of time to wait before attempting to retry a failed request to a given topic partition. This avoids repeatedly sending requests in a tight loop under some failure scenarios.

  34. val saslKerberosServiceName: Option[String]

    Permalink

    is the sasl.kerberos.service.name setting, being the Kerberos principal name that Kafka runs as.

  35. val securityProtocol: SecurityProtocol

    Permalink

    is the security.protocol setting, being the protocol used to communicate with brokers.

  36. val sendBufferInBytes: Int

    Permalink

    is the send.buffer.bytes setting, being the size of the TCP send buffer (SO_SNDBUF) to use when sending data.

  37. val sessionTimeout: FiniteDuration

    Permalink

    is the session.timeout.ms setting, the timeout used to detect failures when using Kafka's group management facilities.

  38. val sslEnabledProtocols: List[SSLProtocol]

    Permalink

    is the ssl.enabled.protocols setting, being the list of protocols enabled for SSL connections.

  39. val sslKeyPassword: Option[String]

    Permalink

    is the ssl.key.password setting and represents the password of the private key in the key store file.

    is the ssl.key.password setting and represents the password of the private key in the key store file. This is optional for client.

  40. val sslKeyStoreLocation: Option[String]

    Permalink

    is the ssl.keystore.location setting and represents the location of the key store file.

    is the ssl.keystore.location setting and represents the location of the key store file. This is optional for client and can be used for two-way authentication for client.

  41. val sslKeyStorePassword: Option[String]

    Permalink

    is the ssl.keystore.password setting, being the password of the private key in the key store file.

    is the ssl.keystore.password setting, being the password of the private key in the key store file. This is optional for client.

  42. val sslKeystoreType: String

    Permalink

    is the ssl.keystore.type setting, being the file format of the key store file.

  43. val sslProtocol: SSLProtocol

    Permalink

    is the ssl.protocol setting, being the SSL protocol used to generate the SSLContext.

    is the ssl.protocol setting, being the SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities.

  44. val sslProvider: Option[String]

    Permalink

    is the ssl.provider setting, being the name of the security provider used for SSL connections.

    is the ssl.provider setting, being the name of the security provider used for SSL connections. Default value is the default security provider of the JVM.

  45. val sslTrustStoreLocation: Option[String]

    Permalink

    is the ssl.truststore.location setting and is the location of the trust store file.

  46. val sslTrustStorePassword: Option[String]

    Permalink

    is the ssl.truststore.password setting and is the password for the trust store file.

  47. val sslTruststoreType: String

    Permalink

    is the ssl.truststore.type setting, being the file format of the trust store file.

  48. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  49. def toMap: Map[String, String]

    Permalink
  50. def toProperties: Properties

    Permalink
  51. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped