0
我有一些對象在JSP中實例化並使用。我已經創建了這些對象來延遲加載(而不是在cstor中初始化)在一些getters上,因爲這些操作是慢速的,並不是所有的都被使用。從JSP實例化的對象中的線程安全問題
我知道簡單的延遲加載可能會導致線程安全問題:
if(this.var == null) {
this.var = service.call();
}
return this.var;
然而,因爲這些類永遠只能從JSP頁面調用(並且只能被稱爲是由於它們通過容器暴露cstor的PARAMS只對JSP),我沒事吧?由於它是JSP執行的一部分,我無法想象我必須擔心多個線程,但想要得到每個人的想法。
這是運行的應用程序服務器是基於Jetty的。
我可能會誤解,但這些對象可以在會話範圍內嗎?如果是這樣,你可以一次有多個請求(用戶在第一個請求仍在處理時刷新刷新) – 2012-03-02 16:00:10
下面開發的平臺是RESTful(Apache Sling),所有的JSP都使用@page session =「false」設置,所以這些objs將永遠不會存儲在HTTP會話中。 – empire29 2012-03-04 21:53:07