Class KafkaUtils
- java.lang.Object
-
- org.springframework.kafka.support.KafkaUtils
-
public final class KafkaUtils extends java.lang.Object
Utility methods.- Since:
- 2.2
- Author:
- Gary Russell
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
MICROMETER_PRESENT
True if micrometer is on the class path.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
clearConsumerGroupId()
Clear the group id for the consumer bound to this thread.static java.time.Duration
determineSendTimeout(java.util.Map<java.lang.String,java.lang.Object> producerProps, long buffer, long min)
Return the timeout to use when sending records.static java.lang.String
format(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record)
Format theConsumerRecord
for logging; defaulttopic-partition@offset
.static java.lang.String
format(org.apache.kafka.clients.producer.ProducerRecord<?,?> record)
Format theProducerRecord
for logging; defaultProducerRecord
Object.toString()
.static java.lang.String
getConsumerGroupId()
Get the group id for the consumer bound to this thread.static boolean
returnTypeMessageOrCollectionOf(java.lang.reflect.Method method)
Return true if the method return type isMessage
orCollection<Message<?>>
.static void
setConsumerGroupId(java.lang.String groupId)
Set the group id for the consumer bound to this thread.static void
setConsumerRecordFormatter(java.util.function.Function<org.apache.kafka.clients.consumer.ConsumerRecord<?,?>,java.lang.String> formatter)
Set a formatter for loggingConsumerRecord
s.static void
setProducerRecordFormatter(java.util.function.Function<org.apache.kafka.clients.producer.ProducerRecord<?,?>,java.lang.String> formatter)
Set a formatter for loggingProducerRecord
s.
-
-
-
Method Detail
-
returnTypeMessageOrCollectionOf
public static boolean returnTypeMessageOrCollectionOf(java.lang.reflect.Method method)
Return true if the method return type isMessage
orCollection<Message<?>>
.- Parameters:
method
- the method.- Returns:
- true if it returns message(s).
-
setConsumerGroupId
public static void setConsumerGroupId(java.lang.String groupId)
Set the group id for the consumer bound to this thread.- Parameters:
groupId
- the group id.- Since:
- 2.3
-
getConsumerGroupId
public static java.lang.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 java.time.Duration determineSendTimeout(java.util.Map<java.lang.String,java.lang.Object> producerProps, long buffer, long min)
Return the timeout to use when sending records. If theProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG
is not configured, or is not a number or a String that can be parsed as a long, theProducerConfig
default value (plus the buffer) is used.- Parameters:
producerProps
- the producer properties.buffer
- a buffer to add to the configuredProducerConfig.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
-
setConsumerRecordFormatter
public static void setConsumerRecordFormatter(java.util.function.Function<org.apache.kafka.clients.consumer.ConsumerRecord<?,?>,java.lang.String> formatter)
Set a formatter for loggingConsumerRecord
s.- Parameters:
formatter
- a function to format the record as a String- Since:
- 2.7.12
-
setProducerRecordFormatter
public static void setProducerRecordFormatter(java.util.function.Function<org.apache.kafka.clients.producer.ProducerRecord<?,?>,java.lang.String> formatter)
Set a formatter for loggingProducerRecord
s.- Parameters:
formatter
- a function to format the record as a String- Since:
- 2.7.12
-
format
public static java.lang.String format(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record)
Format theConsumerRecord
for logging; defaulttopic-partition@offset
.- Parameters:
record
- the record to format.- Returns:
- the formatted String.
- Since:
- 2.7.12
-
format
public static java.lang.String format(org.apache.kafka.clients.producer.ProducerRecord<?,?> record)
Format theProducerRecord
for logging; defaultProducerRecord
Object.toString()
.- Parameters:
record
- the record to format.- Returns:
- the formatted String.
- Since:
- 2.7.12
-
-