亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

武穴市| 奉节县| 奇台县| 大丰市| 嵊泗县| 吉木萨尔县| 甘肃省| 清镇市| 定远县| 拉萨市| 辽源市| 斗六市| 明溪县| 银川市| 卢氏县| 延安市| 芮城县| 庐江县| 兰考县| 甘泉县| 仁布县| 阿克苏市| 洛隆县| 故城县| 嵊泗县| 禹州市| 金乡县| 礼泉县| 金川县| 荆州市| 襄城县| 朝阳县| 涞源县| 华坪县| 云阳县| 阿拉善右旗| 康保县| 红原县| 方正县| 彭州市| 迁西县|