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 Deprecated 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.consumer.ConsumerRecord<?,?> record, boolean full)
Deprecated.in favor offormat(ConsumerRecord)
.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; default istopic-partition@offset
.static void
setProducerRecordFormatter(java.util.function.Function<org.apache.kafka.clients.producer.ProducerRecord<?,?>,java.lang.String> formatter)
Set a formatter for loggingProducerRecord
s; default isProducerRecord.toString()
.
-
-
-
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; default istopic-partition@offset
.- 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; default isProducerRecord.toString()
.- 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
@Deprecated public static java.lang.String format(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, boolean full)
Deprecated.in favor offormat(ConsumerRecord)
.Format theConsumerRecord
for logging; defaulttopic-partition@offset
. Provided for backwards compatibility only.- Parameters:
record
- the record to format.full
- useConsumerRecord.toString()
.- 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
-
-