Class KafkaConnectorOutgoingConfiguration

java.lang.Object
io.smallrye.reactive.messaging.kafka.KafkaConnectorCommonConfiguration
io.smallrye.reactive.messaging.kafka.KafkaConnectorOutgoingConfiguration

public class KafkaConnectorOutgoingConfiguration extends KafkaConnectorCommonConfiguration
Extract the outgoing configuration for the smallrye-kafka connector.
  • Constructor Details

    • KafkaConnectorOutgoingConfiguration

      public KafkaConnectorOutgoingConfiguration(org.eclipse.microprofile.config.Config config)
      Creates a new KafkaConnectorOutgoingConfiguration.
  • Method Details

    • getKeySerializer

      public String getKeySerializer()
      Gets the key.serializer value from the configuration. Attribute Name: key.serializer Description: The serializer classname used to serialize the record's key Default Value: org.apache.kafka.common.serialization.StringSerializer
      Returns:
      the key.serializer
    • getValueSerializer

      public String getValueSerializer()
      Gets the value.serializer value from the configuration. Attribute Name: value.serializer Description: The serializer classname used to serialize the payload Mandatory: yes
      Returns:
      the value.serializer
    • getAcks

      public String getAcks()
      Gets the acks value from the configuration. Attribute Name: acks Description: The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. Accepted values are: 0, 1, all Default Value: 1
      Returns:
      the acks
    • getBufferMemory

      public Long getBufferMemory()
      Gets the buffer.memory value from the configuration. Attribute Name: buffer.memory Description: The total bytes of memory the producer can use to buffer records waiting to be sent to the server. Default Value: 33554432
      Returns:
      the buffer.memory
    • getRetries

      public Long getRetries()
      Gets the retries value from the configuration. Attribute Name: retries Description: If set to a positive number, the connector will try to resend any record that was not delivered successfully (with a potentially transient error) until the number of retries is reached. If set to 0, retries are disabled. If not set, the connector tries to resend any record that failed to be delivered (because of a potentially transient error) during an amount of time configured by `delivery.timeout.ms`. Default Value: 2147483647
      Returns:
      the retries
    • getKey

      public Optional<String> getKey()
      Gets the key value from the configuration. Attribute Name: key Description: A key to used when writing the record
      Returns:
      the key
    • getPartition

      public Integer getPartition()
      Gets the partition value from the configuration. Attribute Name: partition Description: The target partition id. -1 to let the client determine the partition Default Value: -1
      Returns:
      the partition
    • getWaitForWriteCompletion

      public Boolean getWaitForWriteCompletion()
      Gets the waitForWriteCompletion value from the configuration. Attribute Name: waitForWriteCompletion Description: Whether the client waits for Kafka to acknowledge the written record before acknowledging the message Default Value: true
      Returns:
      the waitForWriteCompletion
    • getMaxInflightMessages

      public Long getMaxInflightMessages()
      Gets the max-inflight-messages value from the configuration. Attribute Name: max-inflight-messages Description: The maximum number of messages to be written to Kafka concurrently. It limits the number of messages waiting to be written and acknowledged by the broker. You can set this attribute to `0` remove the limit Default Value: 1024
      Returns:
      the max-inflight-messages
    • getCloudEventsSource

      public Optional<String> getCloudEventsSource()
      Gets the cloud-events-source value from the configuration. Attribute Name: cloud-events-source Description: Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself MicroProfile Config Alias: cloud-events-default-source
      Returns:
      the cloud-events-source
    • getCloudEventsType

      public Optional<String> getCloudEventsType()
      Gets the cloud-events-type value from the configuration. Attribute Name: cloud-events-type Description: Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself MicroProfile Config Alias: cloud-events-default-type
      Returns:
      the cloud-events-type
    • getCloudEventsSubject

      public Optional<String> getCloudEventsSubject()
      Gets the cloud-events-subject value from the configuration. Attribute Name: cloud-events-subject Description: Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself MicroProfile Config Alias: cloud-events-default-subject
      Returns:
      the cloud-events-subject
    • getCloudEventsDataContentType

      public Optional<String> getCloudEventsDataContentType()
      Gets the cloud-events-data-content-type value from the configuration. Attribute Name: cloud-events-data-content-type Description: Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself MicroProfile Config Alias: cloud-events-default-data-content-type
      Returns:
      the cloud-events-data-content-type
    • getCloudEventsDataSchema

      public Optional<String> getCloudEventsDataSchema()
      Gets the cloud-events-data-schema value from the configuration. Attribute Name: cloud-events-data-schema Description: Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself MicroProfile Config Alias: cloud-events-default-data-schema
      Returns:
      the cloud-events-data-schema
    • getCloudEventsInsertTimestamp

      public Boolean getCloudEventsInsertTimestamp()
      Gets the cloud-events-insert-timestamp value from the configuration. Attribute Name: cloud-events-insert-timestamp Description: Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself MicroProfile Config Alias: cloud-events-default-timestamp Default Value: true
      Returns:
      the cloud-events-insert-timestamp
    • getCloudEventsMode

      public String getCloudEventsMode()
      Gets the cloud-events-mode value from the configuration. Attribute Name: cloud-events-mode Description: The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record Default Value: binary
      Returns:
      the cloud-events-mode
    • getCloseTimeout

      public Integer getCloseTimeout()
      Gets the close-timeout value from the configuration. Attribute Name: close-timeout Description: The amount of milliseconds waiting for a graceful shutdown of the Kafka producer Default Value: 10000
      Returns:
      the close-timeout
    • getMerge

      public Boolean getMerge()
      Gets the merge value from the configuration. Attribute Name: merge Description: Whether the connector should allow multiple upstreams Default Value: false
      Returns:
      the merge
    • getPropagateRecordKey

      public Boolean getPropagateRecordKey()
      Gets the propagate-record-key value from the configuration. Attribute Name: propagate-record-key Description: Propagate incoming record key to the outgoing record Default Value: false
      Returns:
      the propagate-record-key
    • getPropagateHeaders

      public String getPropagateHeaders()
      Gets the propagate-headers value from the configuration. Attribute Name: propagate-headers Description: A comma-separating list of incoming record headers to be propagated to the outgoing record Default Value:
      Returns:
      the propagate-headers
    • getKeySerializationFailureHandler

      public Optional<String> getKeySerializationFailureHandler()
      Gets the key-serialization-failure-handler value from the configuration. Attribute Name: key-serialization-failure-handler Description: The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing keys are delegated to this handler which may provide a fallback value.
      Returns:
      the key-serialization-failure-handler
    • getValueSerializationFailureHandler

      public Optional<String> getValueSerializationFailureHandler()
      Gets the value-serialization-failure-handler value from the configuration. Attribute Name: value-serialization-failure-handler Description: The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing values are delegated to this handler which may provide a fallback value.
      Returns:
      the value-serialization-failure-handler
    • getInterceptorBean

      public Optional<String> getInterceptorBean()
      Gets the interceptor-bean value from the configuration. Attribute Name: interceptor-bean Description: The name set in `@Identifier` of a bean that implements `org.apache.kafka.clients.producer.ProducerInterceptor`. If set, the identified bean will be used as the producer interceptor.
      Returns:
      the interceptor-bean
    • validate

      public void validate()
      Overrides:
      validate in class KafkaConnectorCommonConfiguration