Spring 死信发布恢复程序不带SeektocurInterrorHandler

Spring 死信发布恢复程序不带SeektocurInterrorHandler,spring,apache-kafka,spring-kafka,Spring,Apache Kafka,Spring Kafka,我有一个非常简单的用例。我有一个Kafka消费者,我想将所有无效或部分消息移动到死信队列。文档中的示例使用SeektocurInterrorHandler和附加DeadLetterPublishingRecoverer。在我的情况下,我不想重试这些无效消息,我已将maxFailures设置为1,我也尝试了0,结果相同。这里的问题是,出于某种原因,SeektocurInterrorHandler在每次我收到无效消息时都会搜索分区,即使我只是想将其移动到DLT,这使得整个过程非常缓慢。我不确定这是否

我有一个非常简单的用例。我有一个Kafka消费者,我想将所有无效或部分消息移动到死信队列。文档中的示例使用SeektocurInterrorHandler和附加DeadLetterPublishingRecoverer。在我的情况下,我不想重试这些无效消息,我已将maxFailures设置为1,我也尝试了0,结果相同。这里的问题是,出于某种原因,SeektocurInterrorHandler在每次我收到无效消息时都会搜索分区,即使我只是想将其移动到DLT,这使得整个过程非常缓慢。我不确定这是否是SeektocurInterrorHandler的正确行为,但在没有SeektocurInterrorHandler的情况下,是否还有更好的方法来实现我的目标?我必须创建自定义ErrorHandler吗

附言

当存在比使用者可以缓冲的更多无效消息时,会观察到SeektocurInterrorHandler的奇怪行为。如果有几条消息,一切都很快,但是当我们有一大块无效消息时,它的性能会很糟糕。

这是一个bug,确实如此。它将在下周发布的2.2.5版本中发布

SeektocurInterrorHandler和DefaultAfterRollbackProcessor 始终至少重试一次,即使maxAttempts为1