2010-10-07 46 views
2

我正在使用JSF1.1和JSP作爲演示技術。 我有一個ArrayList的託管bean,我以列的形式顯示列表。 一切工作正常。我有兩個服務器節點的會話複製,當我複製會話並放下一個集羣時,應用程序現在位於第二個集羣上,但會話屬性丟失。打印時會話映射爲空

我試圖使用ExternalContext打印sessionMap來查看會話屬性,但也是null。

什麼可能是一個可能的原因?

+0

mali如果可能的話請給我發送代碼,請你如何設置並獲取ExternalContext和sessionMap。 – asifaftab87 2016-01-18 19:40:52

回答

2

該屬性可能不是Serializable。這是讓它們堅持在磁盤上和/或通過網絡傳輸字節的要求。

爲了解決這個問題,只是確保所有會話屬性(包括會話範圍的受管Bean)實現Serializable這樣的:

public class SomeSessionClass implements Serializable { 
    // ... 
} 

不要忘了做任何成員Serializable以及每當適用。例如。

public class SomeSessionClass implements Serializable { 
    private SomeNestedClass foo; // Has to implement Serializable as well! 
    // ... 
} 
+0

我創建了一個類來實現serializable並聲明一個變量int,我只是想將其看作一個計數器。每當我切換節點時,我都會失去我的屬性值。請幫助我。 – asifaftab87 2016-01-18 19:43:58