当前位置:   article > 正文

Disruptor本地线程队列_WorkProcessor异常_FatalExceptionHandler---线程间通信工作笔记004_disruptor本地线程队列_fatalexception这个错误怎么解决?fatalexcept

disruptor本地线程队列_fatalexception这个错误怎么解决?fatalexceptionhandler--

这里要注意,出现这个问题,说明在执行的过程中,出错了,而出错以后,错误被抛出来了,

只要异常被抛出那么会导致任务停止,所以解决方法,来看这一篇文章吧:

Disruptor本地线程队列_FatalException这个错误怎么解决?FatalExceptionHandler---线程间通信工作笔记007

在使用disruptor的过程中,disruptor队列偶尔发现会报错,就是报的:

_FatalExceptionHandler这种错误,其实:

在disruptor中,它把异常给封装了:可以去看源码,我们知道

在disruptor中工作线程是com.lmax.disruptor.WorkProcessor#run 在这个方法中,

可以看到有个try ,catch,可以看到捕获到异常以后,

这里用exceptionHandler.handleEventException这里处理的,而:handleEventException这个方法

调用的最终实际上是,exceptionHandler的实现类中的方法:

  1. catch (final Throwable ex)
  2. {
  3. // handle, mark as processed, unless the exception handler threw an exception
  4. exceptionHandler.handleEventException(ex, nextSequence, event);
  5. processedSequence = true;
  6. }

可以看到源码中:ExceptionHandler的实现类com.lmax.disruptor.FatalExceptionHandler&#x

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/254990
推荐阅读