使用 Azure 事件中心流,最大尝试不起作用

问题描述 投票:0回答:0

我使用“spring-cloud-azure-stream-binder-eventhubs”进行事件中心开发。现在我和消费者打交道的时候,可能会出现一些业务上的异常情况

我的配置

    stream:
      function:
        definition: consumer
      bindings:
        consumer-in-0:
          destination: test-eventhub
          group: $Default
          consumer:
            max-attempts: 3
        supply-out-0:
          destination: test-eventhub

我的消费者

@Bean
    public Consumer<Message<String>> consumer() {
        return message -> {
            if (message.equals("a")) {
                throw new RuntimeException("run time exception");
            }
        };

我的全局异常处理程序

    @ServiceActivator(inputChannel = "errorChannel")
    public void globalConsumerError(Message<?> message) {
        MessageHandlingException messageHandlingException = (MessageHandlingException) message.getPayload();
        log.info("message : {}", new String((byte[]) messageHandlingException.getFailedMessage().getPayload()));
        log.error("error info: {}", message);
        // do something
    }

希望如果出现异常,可以通过设置max-attempts开始重试。但是还是不行,请帮我解惑,谢谢

spring-boot azure-eventhub spring-cloud-azure
© www.soinside.com 2019 - 2024. All rights reserved.