【发布时间】:2020-08-13 11:07:48
【问题描述】:
我刚刚为 ListenerInvocationErrorHandler 中处理的错误实现了一个死信:
override fun onError(exception: Exception, event: EventMessage<*>, eventHandler: EventMessageHandler) {
// Insert in dead letter
}
这没问题,因为我已经获得了我需要的信息(异常、事件和事件处理程序),所以我可以通过调用 eventHandler.process(event) 来重新处理。
但是,对于在 ErrorHandler 中处理的错误(通常是持久性错误),我缺少事件处理程序信息:
override fun handleError(errorContext: ErrorContext) {
// No event handler info
}
考虑到每个事件处理程序都隔离在不同的处理组中,因此每个事件处理程序都应该在自己的事务中运行... 有没有办法获取产生错误的事件处理程序?
【问题讨论】:
标签: java kotlin error-handling axon