當後臺須要很長時間才能給出響應致使前端提早504,須要異步處理。異構下考慮JMS。能夠新起個線程跑跑~大概記錄下前端
1. 接口中新起個線程來執行,直接返回。前臺實時查詢結果,能夠提供refresh按鈕和接口
Runnable runnable = new Runnable() {
@Override
public void run() {數據庫
do();session
}異步
};
Thread asyn_thread = new Thread(runnable);
asyn_thread.start();ide
return 'running in background'測試
2. 在do()中,執行結果存放若是不是在數據庫,須要考慮做用域的問題。存放session經測試是不可行的(在個人場景裏)線程
// 存放矯正的結果
private static Map<String,Object> asynResultMap = new HashMap<String,Object>();接口
3.提供refresh接口,返回map信息作用域
4.要考慮map內容的清空、寫入、數據不串的問題。當第二次請求過來須要清理上一次請求,第三次請求過來須要中止第二次跑的線程,立個flag吧io