Skip to content

Commit fdc59f0

Browse files
DRAFT
1 parent eee3515 commit fdc59f0

File tree

4 files changed

+1132
-16
lines changed

4 files changed

+1132
-16
lines changed

spring-kafka/src/main/java/org/springframework/kafka/listener/KafkaMessageListenerContainer.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
import org.apache.kafka.common.header.Header;
7575
import org.apache.kafka.common.header.internals.RecordHeader;
7676

77+
import org.springframework.aop.support.AopUtils;
7778
import org.springframework.beans.BeanUtils;
7879
import org.springframework.beans.factory.ObjectProvider;
7980
import org.springframework.context.ApplicationContext;
@@ -897,10 +898,12 @@ else if (listener instanceof MessageListener) {
897898
this.pollThreadStateProcessor = setUpPollProcessor(false);
898899
this.observationEnabled = this.containerProperties.isObservationEnabled();
899900

900-
final BiConsumer<ConsumerRecord<K, V>, RuntimeException> asyncRetryCallback
901-
= (cRecord, runtimeException) ->
902-
this.invokeErrorHandlerBySingleRecord(cRecord, runtimeException);
903-
this.listener.setAsyncRetryCallback(asyncRetryCallback);
901+
if (!AopUtils.isAopProxy(listener)) {
902+
final BiConsumer<ConsumerRecord<K, V>, RuntimeException> asyncRetryCallback
903+
= (cRecord, runtimeException) ->
904+
this.invokeErrorHandlerBySingleRecord(cRecord, runtimeException);
905+
this.listener.setAsyncRetryCallback(asyncRetryCallback);
906+
}
904907
}
905908
else {
906909
throw new IllegalArgumentException("Listener must be one of 'MessageListener', "

0 commit comments

Comments
 (0)