Class ListenerUtils
- java.lang.Object
-
- org.springframework.kafka.listener.ListenerUtils
-
public final class ListenerUtils extends java.lang.ObjectListener utilities.- Since:
- 2.0
- Author:
- Gary Russell
-
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static ListenerTypedetermineListenerType(java.lang.Object listener)Determine the type of the listener.static DeserializationExceptiongetExceptionFromHeader(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, java.lang.String headerName, org.springframework.core.log.LogAccessor logger)Extract aDeserializationExceptionfrom the supplied header name, if present.static java.lang.StringrecordToString(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record)Return theConsumerRecordas a String; eithertoString()ortopic-partition@offset.static java.lang.StringrecordToString(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, boolean meta)Return theConsumerRecordas a String; eithertoString()ortopic-partition@offset.static voidsetLogOnlyMetadata(boolean onlyMeta)Set to true to only log record metadata.static voidstoppableSleep(MessageListenerContainer container, long timeout)Sleep for the desired timeout, as long as the container continues to run.static voidunrecoverableBackOff(org.springframework.util.backoff.BackOff backOff, java.lang.ThreadLocal<org.springframework.util.backoff.BackOffExecution> executions, java.lang.ThreadLocal<java.lang.Long> lastIntervals)Deprecated.static voidunrecoverableBackOff(org.springframework.util.backoff.BackOff backOff, java.lang.ThreadLocal<org.springframework.util.backoff.BackOffExecution> executions, java.lang.ThreadLocal<java.lang.Long> lastIntervals, MessageListenerContainer container)Sleep according to theBackOff; when theBackOffExecutionreturnsBackOffExecution.STOPsleep for the previous backOff.
-
-
-
Method Detail
-
determineListenerType
public static ListenerType determineListenerType(java.lang.Object listener)
Determine the type of the listener.- Parameters:
listener- the listener.- Returns:
- the
ListenerType.
-
getExceptionFromHeader
@Nullable public static DeserializationException getExceptionFromHeader(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, java.lang.String headerName, org.springframework.core.log.LogAccessor logger)
Extract aDeserializationExceptionfrom the supplied header name, if present.- Parameters:
record- the consumer record.headerName- the header name.logger- the logger for logging errors.- Returns:
- the exception or null.
- Since:
- 2.3
-
setLogOnlyMetadata
public static void setLogOnlyMetadata(boolean onlyMeta)
Set to true to only log record metadata.- Parameters:
onlyMeta- true to only log record metadata.- Since:
- 2.2.14
- See Also:
recordToString(ConsumerRecord)
-
recordToString
public static java.lang.String recordToString(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record)
Return theConsumerRecordas a String; eithertoString()ortopic-partition@offset.- Parameters:
record- the record.- Returns:
- the rendered record.
- Since:
- 2.2.14
- See Also:
setLogOnlyMetadata(boolean)
-
recordToString
public static java.lang.String recordToString(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, boolean meta)Return theConsumerRecordas a String; eithertoString()ortopic-partition@offset.- Parameters:
record- the record.meta- true to log just the metadata.- Returns:
- the rendered record.
- Since:
- 2.5.4
-
unrecoverableBackOff
@Deprecated(since="2.7") public static void unrecoverableBackOff(org.springframework.util.backoff.BackOff backOff, java.lang.ThreadLocal<org.springframework.util.backoff.BackOffExecution> executions, java.lang.ThreadLocal<java.lang.Long> lastIntervals)Deprecated.Sleep according to theBackOff; when theBackOffExecutionreturnsBackOffExecution.STOPsleep for the previous backOff.- Parameters:
backOff- theBackOffto create a newBackOffExecution.executions- a thread local containing theBackOffExecutionfor this thread.lastIntervals- a thread local containing the previousBackOffinterval for this thread.- Since:
- 2.3.12
-
unrecoverableBackOff
public static void unrecoverableBackOff(org.springframework.util.backoff.BackOff backOff, java.lang.ThreadLocal<org.springframework.util.backoff.BackOffExecution> executions, java.lang.ThreadLocal<java.lang.Long> lastIntervals, MessageListenerContainer container) throws java.lang.InterruptedExceptionSleep according to theBackOff; when theBackOffExecutionreturnsBackOffExecution.STOPsleep for the previous backOff.- Parameters:
backOff- theBackOffto create a newBackOffExecution.executions- a thread local containing theBackOffExecutionfor this thread.lastIntervals- a thread local containing the previousBackOffinterval for this thread.container- the container or parent container.- Throws:
java.lang.InterruptedException- if the thread is interrupted.- Since:
- 2.7
-
stoppableSleep
public static void stoppableSleep(MessageListenerContainer container, long timeout) throws java.lang.InterruptedException
Sleep for the desired timeout, as long as the container continues to run.- Parameters:
container- the container.timeout- the timeout.- Throws:
java.lang.InterruptedException- if the thread is interrupted.- Since:
- 2.7
-
-