Мне интересно, есть ли способ включить Stateful RetryTemplate с помощью spring-cloud-stream-binder-kafka.
Заметил что есть конструктор
RetryingMessageListenerAdapter(MessageListener<K, V> messageListener, RetryTemplate retryTemplate, RecoveryCallback<? extends Object> recoveryCallback, boolean stateful)
Отлаживая этот код, я заметил, что логическое значение false
передается в параметр stateful
с помощью spring-cloud-stream-binder-kafka.
Ссылки по теме: KafkaMessageDrivenChannelAdapter.java, RetryingMessageListenerAdapter.java
У меня есть несколько вопросов по этой теме.
- Есть ли способ установить для
RetryingMessageListenerAdapter
членаstateful
значение true через application.yml илиListenerContainerCustomizer
? - Есть ли способ отключить
RetryTemplate
с помощью spring-cloud-stream-binder-kafka? Думаю, самое близкое, что я нашел, - это переопределитьmax-attempts
на 1 в моем@StreamRetryTemplate
. - Если я использую
SeekToCurrentErrorHandler
, предоставленный spring-kafka, есть ли какие-либо преимущества или причины, по которым я должен установитьstateful
как true, посколькуSeekToCurrentErrorHandler
уже является механизмом обработки ошибок с отслеживанием состояния?
Пожалуйста, дай мне знать.