【问题标题】:ListenableFuture callback triggered by future cancel未来取消触发的 ListenableFuture 回调
【发布时间】:2020-01-26 21:15:05
【问题描述】:

我正在使用ListenableFuture 并像这样注册回调:

Futures.addCallback(
    myFuture,
    new FutureCallback<MyClass>() {

      public void onSuccess(MyClass myClass) {
        //handle success
      }
      public void onFailure(Throwable thrown) {
        //handle failure
      }
    },
    service);

我想知道当.cancel()future 调用时会发生什么。会触发.onSuccess() 还是.onFailure().cancel() 有时可能会失败。这会影响回调行为吗?一般来说,库如何确定要调用哪个处理程序?

【问题讨论】:

    标签: java callback future


    【解决方案1】:

    如文档所述 这里FutureCallback

    void onFailure(Throwable t)

    Future 计算失败或被取消时调用。

    如果future的get方法抛出ExecutionException,那么原因是

    传递给这个方法。任何其他抛出的对象都原封不动地传递。


    【讨论】:

      猜你喜欢
      • 2013-08-04
      • 1970-01-01
      • 2011-02-12
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-26
      相关资源
      最近更新 更多