我想知道是否有一种方法可以使用 spring-cloud-stream-binder-kafka 启用 Stateful RetryTemplate。
我注意到有一个构造函数
RetryingMessageListenerAdapter(MessageListener<K, V> messageListener, RetryTemplate retryTemplate, RecoveryCallback<? extends Object> recoveryCallback, boolean stateful)
通过这段代码进行调试,我注意到布尔值是使用 spring-cloud-stream-binder-kafkafalse
传递给参数的。stateful
相关链接:KafkaMessageDrivenChannelAdapter.java、RetryingMessageListenerAdapter.java
我有几个关于这个话题的问题。
- 有没有办法通过 application.yml 或将
RetryingMessageListenerAdapter
's member设置stateful
为 trueListenerContainerCustomizer
? - 有没有办法禁用
RetryTemplate
使用 spring-cloud-stream-binder-kafka?我认为我发现的最接近的是max-attempts
在我的@StreamRetryTemplate
. - 如果我使用的是 spring-kafka 提供的,那么我应该设置为 true
SeekToCurrentErrorHandler
有什么好处或理由,因为它已经是一个有状态的错误处理机制?stateful
SeekToCurrentErrorHandler
请告诉我。