2010-03-10 32 views
0

我有一個擁有長期頁面的wicket應用程序。我希望這個頁面的每個實例都由一個獨特的PageMap創建,這是因爲我不會在這裏介紹,但是當我嘗試在頁面的構造函數中指定一個PageMap時,我最終得到了OOM和StackOverflow錯誤。下面是代碼:使用獨特的PageMaps創建頁面

public <CTOR>() { 
    super(Session.get().newPageMap("" + System.currentTimeMillis())); 
    ... 

我使用一個自定義BookmarkablePageLink(自定義的,它並不能在當前頁映射名稱傳遞到新的頁面),以有效地放棄舊頁/頁映射,並創建一個新的與一個新的PageMap。在創建僅兩三頁後,錯誤似乎來自頁面序列化。

任何人都可以找到這種方法的問題?

回答

1

我懷疑反序列化會調用這個構造函數,這樣就會得到比您期望的更多的PageMaps。

+0

良好的調用,我不知道這是問題,但我應該調用pageMapForName(pageMapName,true)來代替。謝謝! – 2010-03-11 13:36:04

+0

如果您真的只想在* you *創建頁面時而不是在反序列化時需要新的PageMap,則可能應該使PageMap成爲構造函數參數,並在調用方中執行pageMapForName,或者只需將該名稱設置爲構造函數參數即可來電者的姓名結構。 Anantha是正確的,你可能會得到一個更好的答案,核心開發人員在外面閒逛,儘管我認爲我至少已經看到其中的一個。 – 2010-03-11 15:36:14

1

我認爲如果您在 檢票用戶郵件列表中提出這類問題,我認爲您會得到更好的支持。郵件列表非常活躍,核心開發人員將回答大部分問題 。