赞
踩
这里要注意,出现这个问题,说明在执行的过程中,出错了,而出错以后,错误被抛出来了,
只要异常被抛出那么会导致任务停止,所以解决方法,来看这一篇文章吧:
在使用disruptor的过程中,disruptor队列偶尔发现会报错,就是报的:
_FatalExceptionHandler这种错误,其实:
在disruptor中,它把异常给封装了:可以去看源码,我们知道
在disruptor中工作线程是com.lmax.disruptor.WorkProcessor#run 在这个方法中,
可以看到有个try ,catch,可以看到捕获到异常以后,
这里用exceptionHandler.handleEventException这里处理的,而:handleEventException这个方法
调用的最终实际上是,exceptionHandler的实现类中的方法:
- catch (final Throwable ex)
- {
- // handle, mark as processed, unless the exception handler threw an exception
- exceptionHandler.handleEventException(ex, nextSequence, event);
- processedSequence = true;
- }
可以看到源码中:ExceptionHandler
的实现类com.lmax.disruptor.FatalExceptionHandler
&#x
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。