如何在Play框架2.x中捕获异步WSRequest中的超时异常?

时间:2014-04-11 00:19:17

标签: asynchronous playframework playframework-2.0 timeout

我试图在Play框架2.1.x的委托中捕获TimeoutException,我的代码如下:

WSRequestHolder request = WS.url(url).setAuth(username,password);
Promise<WS.Response> response = request.get();
    response.onRedeem(new Callback<WS.Response>(){
    public void invoke(WS.Response response) {
        int status = response.getStatus();
        Logger.info("Sending result");
        Logger.info(response.getBody());
    }
});

在Play中,默认超时值为120000ms,我想捕获超时异常。我尝试使用try-catch块但它似乎不起作用。有人可以帮忙吗?我应该使用计时器吗?

1 个答案:

答案 0 :(得分:1)

您可以使用以下TimeoutExceptiononFailurerecoverrecoverWith方法之一处理Promise例外情况。