2012-05-21 31 views
0

我對Spring比較陌生,並試圖在服務器上排隊一組web請求(以便加熱memcached)。目前還不清楚我如何在當前請求的憑證上傳輸,以便在我將要加入隊列的未來Web請求中使用。我已經看到了一些調度解決方案(TaskExecutor,ApplicationEventMultitasker等),但不清楚他們是否/如何處理證書,因爲這似乎是這項任務中最複雜的部分。在憑藉憑據在Spring中排隊異步Web請求

+0

開始考慮執行我需要的模型而不是調用Web請求可能是最直接的方法,但仍然很想知道處理證書的Web請求隊列。 –

回答

0

這是不可能的直接。安全證書存儲在ThreadLocal這意味着一旦請求被轉發到另一個線程,證書將丟失。你所能做的(這可能實際上對你的設計有益)是直接傳遞證書,把它們包裝在Callable/Runnable或你使用的任何機制中。

+1

您可以使用包裝方面在'ThreadLocal'上設置安全性信用,然後在方法調用('@ Around')結束後取消設置。但是,即使在錯誤情況下,您也需要確保信用卡未被設置。我可能會把這些信號放在一些非標準的句柄下,這樣除了實際使用它們的代碼之外,沒有其他的處理能夠接受它們。 – atrain