EventExecutorGroup中的异常处理

时间:2015-03-23 12:10:51

标签: netty

我需要创建处理数据库请求的线程池(通常很慢)。我试图理解http://adolgarev.blogspot.com/2013/12/lets-do-our-own-full-blown-http-server.html中的示例,但我不明白如何执行异常处理。当Callable抛出异常时会发生什么。

我查看了DefaultEventExecutor和DefaultEventExecutorGroup的代码。 据我所知,从代码中可以看出来自池的一个线程将在抛出runable异常时关闭。

我需要对抛出的任何异常进行特殊处理,在这种情况下不会关闭任何线程。

1 个答案:

答案 0 :(得分:0)

当指定的Callable抛出异常时(即当Callable失败时),您将收到添加到Future返回的EventExecutor.submit(Callable)的监听器的通知(即将调用operationComplete()。)您可以通过CallableFuture.isSuccess()检查Future.cause()的执行是否成功。