91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringMVC異步處理的示例分析

發布時間:2022-03-31 14:37:46 來源:億速云 閱讀:128 作者:小新 欄目:編程語言

這篇文章主要介紹SpringMVC異步處理的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

異步處理 demo

如果要啟用異步返回,需要開啟 @EnableAsync。如下的代碼中,使用 DeferredResult 進行異步處理。

請求進來后,首先創建 DeferredResult 對象,設置超時時間為 60 秒。然后指定DeferredResult 在異步完成和等待超時時的回調。同步的處理只需要創建異步任何,然后返回DeferredResult 即可。這樣 Spring MVC 處理完此次請求后,不會立即返回 response 給客戶端,會一直等待DeferredResult 處理完成。如果DeferredResult 沒有在 60 秒內處理完成,就會觸發超時,然后返回 response 給客戶端。

@RequestMapping(value = "/async/demo")
public DeferredResult<String> async(){
 // 創建 DeferredResult,設置超時時間 60s
 DeferredResult<String> deferredResult = new DeferredResult<>((long)60 * 1000);

 String uuid = UUID.randomUUID().toString();
 Runnable callback = () -> manager.remove(deferredResult, uuid);
 // 設置完成和超時的回調
 deferredResult.onCompletion(callback);
 deferredResult.onTimeout(callback);

 // 創建異步任務
 manager.addAsyncTask(deferredResult, uuid);

 // 同步返回 DeferredResult
 return deferredResult;
}

對于異步任務來說,需要持有DeferredResult 對象。在異步處理結束時,需要手動調用DeferredResult.setResult完成輸出。調用setResult 時,數據輸出寫到客戶端,然后觸發異步完成事件執行回調。

task.getDeferredResult().setResult(ConfigJsonUtils.toJsonString(map));

以上是“SpringMVC異步處理的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永济市| 阿瓦提县| 永春县| 南汇区| 内丘县| 禹州市| 张家界市| 昭苏县| 同仁县| 淮南市| 玛纳斯县| 宁海县| 田林县| 读书| 江门市| 怀仁县| 法库县| 沙湾县| 健康| 夏河县| 彰化市| 溧水县| 常德市| 普安县| 永昌县| 漳浦县| 洞口县| 哈密市| 大荔县| 海丰县| 钟山县| 常州市| 出国| 开阳县| 开鲁县| 花莲市| 桂平市| 上犹县| 吴忠市| 图片| 三亚市|