Class ListenerUtils
java.lang.Object
org.springframework.kafka.listener.ListenerUtils
Listener utilities.
- Since:
- 2.0
- Author:
- Gary Russell, Francois Rosiere, Antonio Tomac
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidconditionalSleep(Supplier<Boolean> shouldSleepCondition, long interval) Sleep for the desired timeout, as long as shouldSleepCondition supplies true.static org.apache.kafka.clients.consumer.OffsetAndMetadatacreateOffsetAndMetadata(MessageListenerContainer container, long offset) Create a newOffsetAndMetadatausing the given container and offset.static ListenerTypedetermineListenerType(Object listener) Determine the type of the listener.static voidstoppableSleep(MessageListenerContainer container, long interval) Sleep for the desired timeout, as long as the container continues to run.static voidunrecoverableBackOff(BackOff backOff, ThreadLocal<BackOffExecution> executions, ThreadLocal<Long> lastIntervals, MessageListenerContainer container) Deprecated, for removal: This API element is subject to removal in a future version.static voidunrecoverableBackOff(BackOff backOff, Map<Thread, BackOffExecution> executions, Map<Thread, Long> lastIntervals, MessageListenerContainer container) Sleep according to theBackOff; when theBackOffExecutionreturnsBackOffExecution.STOPsleep for the previous backOff.
-
Method Details
-
determineListenerType
Determine the type of the listener.- Parameters:
listener- the listener.- Returns:
- the
ListenerType.
-
unrecoverableBackOff
@Deprecated(since="3.1", forRemoval=true) public static void unrecoverableBackOff(BackOff backOff, ThreadLocal<BackOffExecution> executions, ThreadLocal<Long> lastIntervals, MessageListenerContainer container) throws InterruptedException Deprecated, for removal: This API element is subject to removal in a future version.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.container- the container or parent container.- Throws:
InterruptedException- if the thread is interrupted.- Since:
- 2.7
-
unrecoverableBackOff
public static void unrecoverableBackOff(BackOff backOff, Map<Thread, BackOffExecution> executions, Map<Thread, throws InterruptedExceptionLong> lastIntervals, MessageListenerContainer container) 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.container- the container or parent container.- Throws:
InterruptedException- if the thread is interrupted.- Since:
- 3.1
-
stoppableSleep
public static void stoppableSleep(MessageListenerContainer container, long interval) throws InterruptedException Sleep for the desired timeout, as long as the container continues to run.- Parameters:
container- the container.interval- the timeout.- Throws:
InterruptedException- if the thread is interrupted.- Since:
- 2.7
-
conditionalSleep
public static void conditionalSleep(Supplier<Boolean> shouldSleepCondition, long interval) throws InterruptedException Sleep for the desired timeout, as long as shouldSleepCondition supplies true.- Parameters:
shouldSleepCondition- to.interval- the timeout.- Throws:
InterruptedException- if the thread is interrupted.- Since:
- 3.0.9
-
createOffsetAndMetadata
public static org.apache.kafka.clients.consumer.OffsetAndMetadata createOffsetAndMetadata(MessageListenerContainer container, long offset) Create a newOffsetAndMetadatausing the given container and offset.- Parameters:
container- a container.offset- an offset.- Returns:
- an offset and metadata.
- Since:
- 2.8.6
-
unrecoverableBackOff(BackOff, Map, Map, MessageListenerContainer).