我正在使用play 1.2.5,因为我正在给REST服务进行异步调用。
为此,我创建了一个promise对象,然后将此promise对象作为await()方法的参数。 await()方法返回一个httpResponse对象。
它工作正常,然后REST服务返回响应。但是如果REST服务没有响应(可能是因为REST服务已关闭),那么我在httpResponse中得到一个null。 但是需要一些时间才能得到回复。
我可以配置等待其余服务响应承诺的时间吗?如果没有那么什么是默认等待时间?
非常感谢任何帮助
答案 0 :(得分:1)
如果您使用播放WS lib,则在WSRequest对象上有一个超时方法,您可以在没有响应的情况下定义在调用返回之前的秒数
答案 1 :(得分:0)
WSRequest上有超时调用。
WS.WSRequest wsReq = WS.url("http://whatever");
wsReq.timeout("1min");
...
当您执行postAsync()
时,您会收到回复。您还可以调用promise.onRedeem()
添加处理程序以处理错误等。您可以使用它来捕获超时异常。