【问题标题】:Different way of handling poison pill处理毒丸的不同方法
【发布时间】:2021-12-29 06:56:57
【问题描述】:

我正在尝试使用 spring-kafka 处理毒丸场景。 目前我正在使用以下方法处理此问题,此处失败的消息被推送到名为 <original-topic>.DLT 的不同主题。

  @Bean
  public SeekToCurrentErrorHandler errorHandler(DeadLetterPublishingRecoverer deadLetterPublishingRecoverer) {
    return new SeekToCurrentErrorHandler(deadLetterPublishingRecoverer);
  }
  
  @Bean
  public DeadLetterPublishingRecoverer publisher(KafkaTemplate bytesTemplate) {
    return new DeadLetterPublishingRecoverer(bytesTemplate);
  }

因此,我不想将失败的消息推送到<original-topic>.DLT 主题,而是想获取它并直接将其推送到数据库中。 我试图获取失败的消息但没有成功。任何人都可以在这里帮忙。 TIA。

【问题讨论】:

    标签: spring spring-boot apache-kafka spring-kafka


    【解决方案1】:

    只需实现您自己的ConsumerRecordRecoverer 并在错误处理程序中使用它而不是DeadLetterPublishingRecoverer。

    /**
     * A {@link BiConsumer} extension for recovering consumer records.
     *
     * @author Gary Russell
     * @since 2.3
     *
     */
    @FunctionalInterface
    public interface ConsumerRecordRecoverer extends BiConsumer<ConsumerRecord<?, ?>, Exception> {
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多