播放1.2.5中的await()

时间:2013-01-09 14:54:53

标签: java playframework playframework-1.x promise

我正在使用play 1.2.5,因为我正在给REST服务进行异步调用。

为此,我创建了一个promise对象,然后将此promise对象作为await()方法的参数。 await()方法返回一个httpResponse对象。

它工作正常,然后REST服务返回响应。但是如果REST服务没有响应(可能是因为REST服务已关闭),那么我在httpResponse中得到一个null。 但是需要一些时间才能得到回复。

我可以配置等待其余服务响应承诺的时间吗?如果没有那么什么是默认等待时间?

非常感谢任何帮助

2 个答案:

答案 0 :(得分:1)

如果您使用播放WS lib,则在WSRequest对象上有一个超时方法,您可以在没有响应的情况下定义在调用返回之前的秒数

答案 1 :(得分:0)

WSRequest上有超时调用。

WS.WSRequest wsReq = WS.url("http://whatever");
wsReq.timeout("1min");

...

当您执行postAsync()时,您会收到回复。您还可以调用promise.onRedeem()添加处理程序以处理错误等。您可以使用它来捕获超时异常。