2013-06-25 25 views
0

的Servlet 3.0節2.3.3.4規格載錄如下─設計問題 - 在servlet的異步請求的線程安全

除了startAsync和完整的方法,在 請求和響應對象的實現不保證線程安全。 這意味着它們應該要麼只能的 請求處理線程或應用程序的範圍內使用必須確保 訪問請求和響應對象是線程安全的。

我使用Jetty和我的問題是 -

我的要求是讀取請求的ServletInputStream在我的異步線程這是處理請求。現在,如果我要讀取http頭文件等,這將是容易的。在開始異步並傳遞到線程之前,我可以閱讀它們。

但是,在我的情況,我需要使用ServletInputStream,因爲我不想在我轉嫁給處理線程緩存的內容。

有沒有辦法解決這個問題?或者,如果我只是將ServletInputStream的引用傳遞給處理線程,我會好嗎?

回答

1

只要你確保只有一個線程從ServletInputStream在任何一個時間讀你將被罰款。