如何解决Spring Cloud Kinesis Binder如何为生产者和消费者处理错误-根据文档,它不起作用
我已遵循以下文档,并且有一个生产者和一个消费者可以与Kinesis Stream完美地结合在一起。我想了解在发生任何异常的情况下如何处理生产者(源)和消费者(处理器)中的错误。
我已经按照Spring Stream错误处理文档尝试了以下方法:
-
我尝试使用 @ServiceActivator(“ input-stream.input-stream-group.erros”)-可以,但是根据策略,我的“ input-stream”是每个生产环境中的动态名称,我应该在定义该名称时附加一个生产环境名称数据流。这是首选方法,但是如何解决此问题?
-
我尝试使用@ServiceActivator(“ errorChannel”)-如果我引入了错误提示,则此错误将无法捕获并打印 方法,并放入Logger,但由于
org.springframework.cloud.stream.binding.StreamListenerMessageHandler
中的重新抛出次数不足而引发错误(第53-68行)catch (Exception e) { if (e instanceof MessagingException) { throw (MessagingException) e; } else { throw new MessagingException(requestMessage,"Exception thrown while invoking " + this.invocableHandlerMethod.getShortLogMessage(),e); } }
-
我已经自动连接了一个名称为“ errorChannel”的MessageChannel 在捕获异常的同时,我准备了一条消息并发送 ,但与上面的ServiceActivator方法相同。
我该如何处理和解决此问题?请提出建议并帮助我。
解决方法
只为所有面临这个问题的人们造福。如果您错过评论部分。 Deepak Chaudhary的答案对消费者来说效果很好。
如果有帮助,请签出stackoverflow.com/questions/63270755/…。谢谢。 – Deepak Chaudhary
谢谢Deepak
想了解我们如何为制作人做到这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。