自定义会话而不是命中Application :: newSession

时间:2013-09-25 21:22:48

标签: java session wicket

我正在使用Apache Wicket 6.10,而且我在使用Apache Wicket时遇到异常问题。

我的自定义会话对象扩展了WebSession类,我在WicketApplication(Extends WebApplication):: newSession中返回了一个新的SCSSession实例。

例外是:

org.apache.wicket.protocol.http.WebSession cannot be cast to SCSSession
at org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:212)
    at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:57)
    at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:298)
    at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:320)
    at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:234)
    at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
    at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1279)
    at org.apache.wicket.RequestCycle.step(RequestCycle.java:1358)

我在调试中发现的是,正在从org.apache.wicket.Application类创建新的Sessions。

目前,我的创建有点愚蠢,为什么WicketApplication(由WebAplication扩展,也由Application扩展)使用Application :: newSession而不是我的WicketApplication?

会话的呼叫来自嵌入式面板。这与会话初始化中的问题有什么关系吗?

1 个答案:

答案 0 :(得分:1)

DefaultPageFactory#createPage()来自Wicket 1.4.x.你应该检查你的类路径。