Play FrameWork後臺使用非同步操作
阿新 • • 發佈:2019-02-14
有些情況,比如大量的資料需要寫入資料庫,我們又不想在這裡等著他寫完再進行其他操作的時候,可以使用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); }