我使用“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开始重试。但是还是不行,请帮我解惑,谢谢