Class KafkaUtils

java.lang.Object
org.springframework.kafka.support.KafkaUtils

public final class KafkaUtils extends Object
Utility methods.
Since:
2.2
Author:
Gary Russell, Wang ZhiYang, Soby Chacko
  • Field Details

    • DESERIALIZER_EXCEPTION_HEADER_PREFIX

      public static final String DESERIALIZER_EXCEPTION_HEADER_PREFIX
      Header name for deserialization exceptions.
      Since:
      3.0.15
      See Also:
    • KEY_DESERIALIZER_EXCEPTION_HEADER

      public static final String KEY_DESERIALIZER_EXCEPTION_HEADER
      Header name for deserialization exceptions.
      Since:
      3.0.15
      See Also:
    • VALUE_DESERIALIZER_EXCEPTION_HEADER

      public static final String VALUE_DESERIALIZER_EXCEPTION_HEADER
      Header name for deserialization exceptions.
      Since:
      3.0.15
      See Also:
    • MICROMETER_PRESENT

      public static final boolean MICROMETER_PRESENT
      True if micrometer is on the class path.
  • Method Details

    • returnTypeMessageOrCollectionOf

      public static boolean returnTypeMessageOrCollectionOf(Method method)
      Return true if the method return type is Message or Collection<Message<?>>.
      Parameters:
      method - the method.
      Returns:
      true if it returns message(s).
    • setConsumerGroupId

      public static void setConsumerGroupId(String groupId)
      Set the group id for the consumer bound to this thread.
      Parameters:
      groupId - the group id.
      Since:
      2.3
    • getConsumerGroupId

      public static String getConsumerGroupId()
      Get the group id for the consumer bound to this thread.
      Returns:
      the group id.
      Since:
      2.3
    • clearConsumerGroupId

      public static void clearConsumerGroupId()
      Clear the group id for the consumer bound to this thread.
      Since:
      2.3
    • determineSendTimeout

      public static Duration determineSendTimeout(Map<String,Object> producerProps, long buffer, long min)
      Return the timeout to use when sending records. If the ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG is not configured, or is not a number or a String that can be parsed as a long, the ProducerConfig default value (plus the buffer) is used.
      Parameters:
      producerProps - the producer properties.
      buffer - a buffer to add to the configured ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG to prevent timing out before the Kafka producer.
      min - a minimum value to apply after adding the buffer to the configured timeout.
      Returns:
      the timeout to use.
      Since:
      2.7
    • setLogOnlyMetadata

      @Deprecated(since="3.1", forRemoval=true) public static void setLogOnlyMetadata(boolean onlyMeta)
      Deprecated, for removal: This API element is subject to removal in a future version.
      - no longer used.
      Set to true to only log record metadata.
      Parameters:
      onlyMeta - true to only log record metadata.
      Since:
      2.7.12
    • setConsumerRecordFormatter

      public static void setConsumerRecordFormatter(Function<org.apache.kafka.clients.consumer.ConsumerRecord<?,?>,String> formatter)
      Set a formatter for logging ConsumerRecords.
      Parameters:
      formatter - a function to format the record as a String
      Since:
      2.7.12
    • setProducerRecordFormatter

      public static void setProducerRecordFormatter(Function<org.apache.kafka.clients.producer.ProducerRecord<?,?>,String> formatter)
      Set a formatter for logging ProducerRecords.
      Parameters:
      formatter - a function to format the record as a String
      Since:
      2.7.12
    • format

      public static String format(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record)
      Format the ConsumerRecord for logging; default topic-partition@offset.
      Parameters:
      record - the record to format.
      Returns:
      the formatted String.
      Since:
      2.7.12
    • format

      public static String format(org.apache.kafka.clients.producer.ProducerRecord<?,?> record)
      Format the ProducerRecord for logging; default ProducerRecordObject.toString().
      Parameters:
      record - the record to format.
      Returns:
      the formatted String.
      Since:
      2.7.12