首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Disruptor处理异常

Java Disruptor处理异常
EN

Stack Overflow用户
提问于 2015-10-31 00:05:06
回答 2查看 695关注 0票数 0

在disruptor (版本3.3.2)中,每个事件都是Runnable (因为EventProcessor扩展了runnable)。

我正在编写一个应用程序,每当EventHandler抛出异常时,调用disruptor.start()的类需要捕获该异常并做出反应。

现在,如果EventProcessor是一个可调用的,那就很容易了。

在Disruptor中有没有其他方法来传播异常?

EN

回答 2

Stack Overflow用户

发布于 2015-12-21 22:23:47

我通过将一个实现接口传递给EventHandler解决了这个问题,正如Doug Lea一书所建议的那样。异常是在LinkedList中设置的,在方法调用的末尾,我检索列表中的最后一个元素。示例代码:

代码语言:javascript
复制
    final LinkedList<Throwable> listExceptions = new LinkedList<Throwable>();

    MyClassWithDisruptor at = MyClassWithDisruptor.getInstance();
    at.send(message, transport, conf, new AuditExceptionHandler() {

        @Override
        public void handleException(final Throwable e) {
            e.printStackTrace();

        }

        @Override
        public void setException(final Exception e) throws AuditTrailException {
            listExceptions.add(e);

        }
    });
票数 1
EN

Stack Overflow用户

发布于 2015-11-10 09:19:10

颠覆者提供了一个ExceptionHandler,用于处理这类问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33440251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档