簡體   English   中英

REST與JAX-RS-異步調用

[英]REST with JAX-RS - Asynchronous call

我看到幾年前發布的“ cmd”下面的帖子。 而“ Wojtek Owczarczyk”得到了回答。 除了最后一行,我對所有答案都滿意。

我的困惑是,如果我們立即返回接受狀態。 然后,我們將失去請求的蹤跡。

因此,我計划實施以下步驟。 如果我錯了,請糾正我。

1)一旦請求到達服務api,我將創建一個Job ID,並保留我的請求詳細信息,並將ACCEPTED狀態代碼和Job ID一起發送回客戶端。 2)然后,我將為該請求創建新線程以繼續執行請求的操作。 3)操作成功完成后,我將把請求的所有狀態發回給客戶。 4)最后,在callbackCompletion寄存器中,我將從持久性列表中刪除作業ID。

為了實現上述邏輯,我需要客戶端將其偵聽器信息與請求(基本上是URI)一起發送。 這是在處理請求后將請求狀態更新回客戶端。

REST with JAX-RS-處理長時間運行的操作

我認為這並不是REST的工作方式。 我將改為采用以下方法:

  • 客戶要求長期操作
  • 創建一個作業ID並異步運行該作業
  • 返回接受的狀態以及URI,以請求作業的狀態。 例如: http://.../resources/jobs/1234

客戶端現在負責例如輪詢URI以獲取作業執行的當前狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM