有些情况,比如大量的数据需要写入数据库,我们又不想在这里等着他写完再进行其他操作的时候,可以使用play异步操作,这样在他进行数据库读写操作的时候我们可以先执行其他操作,节省时间提高效率。
异步的使用很简单,就一个promise函数
用法范例如下:其中
updateWeiXinOrder进行了大量的数据库操作,get为等待时间
private static long timeOut = 1000 * 60 * 2;
/* (non-Javadoc)
* @see services.stockpile.WeiXinService#updateWeiXinOrder()
*/
@Override
public void updateWeiXinOrder() {
// TODO Auto-generated method stub
Promise<Boolean> promise = Promise.promise(new Function0<Boolean>() {
public Boolean apply() {
try {
boolean back = WeiXinDaoImpl.updateWeiXinOrder();
return back;
} catch (Exception e) {
Logger.error("LmToJmServiceImpl——>syncExchangeRate():", e);
}
return false;
}
});
promise.get(timeOut);
}