在Akka你怎么知道哪个请求超时?

时间:2014-12-12 06:58:48

标签: timeout akka

这是为失败分配回调的方式

future.onFailure(new FailureHandler(), context().system().dispatcher());

在方法FailureHandler()

public final class FailureHandler extends OnFailure {
    public void onFailure(Throwable throwable) throws Throwable {
            System.out.println(throwable.toString());
    }
}

我无法找到找出哪个请求失败的方法。这是一个常见的要求,我相信我错过了一些微不足道的事情。

1 个答案:

答案 0 :(得分:1)

确实很简单,需要声明一个类级变量来保存transactionId onFailure

public final class FailureHandler extends OnFailure {
    String transactionId;
    public FailureHandler(String transactionId){
        this.transactionId = transactionId;
    }
    @Override
    public void onFailure(Throwable throwable) throws Throwable {
        logger.error(transactionId + " failed");
    }
}