2010-03-10 84 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

我认为如果您在 检票用户邮件列表中提出这类问题,我认为您会得到更好的支持。邮件列表非常活跃,核心开发人员将回答大部分问题 。