Hello! We have spent many hours working on a Wicket-based Java web
application for Google App Engine.
Our application runs properly on our Eclipse-based local development
environment (SDK version 1.4.3).
However, When we deploy to app engine, our session objects are
returning null. Our development team has become quite impatient with
app engine, and is working or porting the app to run other
technologies like Hibernate JPA. Error trace below
Thanks for any help!
Dave Donohue
2011-07-03 03:43:04.685 /inqle/;jsessionid=ayZp3ggilt1PrWp0iRIuEQ?
wicket:bookmarkablePage=:org.inqle.qa.web.pages.questions.QuestionaryPage
500 587ms 1412cpu_ms 12api_cpu_ms 0kb Mozilla/5.0 (Windows NT 6.1;
WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112
Safari/534.30,gzip(gfe)
173.49.156.228 - drdonohue [03/Jul/2011:03:43:04 -0700] "GET /
inqle/;jsessionid=ayZp3ggilt1PrWp0iRIuEQ?
wicket:bookmarkablePage=:org.inqle.qa.web.pages.questions.QuestionaryPage
HTTP/1.1" 500 963 "
http://inqle-qa.appspot.com/inqle/" "Mozilla/5.0
(Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/
12.0.742.112 Safari/534.30,gzip(gfe)" "
inqle-qa.appspot.com" ms=587
cpu_ms=1412 api_cpu_ms=12 cpm_usd=0.039455
E 2011-07-03 03:43:04.616
org.apache.wicket.RequestCycle logRuntimeException: Can't instantiate
page using constructor public
org.inqle.qa.web.pages.questions.QuestionaryPage()
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor public org.inqle.qa.web.pages.questions.QuestionaryPage()
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:
1250)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:
486)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:
319)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.inject.servlet.DefaultFilterPipeline.dispatch(DefaultFilterPipeline.java:
43)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:
110)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:
97)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:
35)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
249)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
at
com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
135)
at
com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
260)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$2.handleRequest(RuntimePb.java:9673)
at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
422)
at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:
573)
at com.google.tracing.TraceContext$TraceContextRunnable
$1.run(TraceContext.java:448)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:
688)
at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
326)
at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
318)
at com.google.tracing.TraceContext
$TraceContextRunnable.run(TraceContext.java:446)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
1110)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.reflect.InvocationTargetException
at
com.google.appengine.runtime.Request.process-690d8e3f0bc6a46e(Request.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:33)
at
org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:
192)
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:
1250)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:
486)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:
319)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.inject.servlet.DefaultFilterPipeline.dispatch(DefaultFilterPipeline.java:
43)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:
110)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
... 10 more
Caused by: java.lang.NullPointerException
at org.inqle.qa.web.InqleQaSession.isParticipant(InqleQaSession.java:
171)
at org.inqle.qa.web.InqleQaSession.getParticipant(InqleQaSession.java:
180)
at
org.inqle.qa.web.pages.questions.QuestionaryPage.createContentPanel(QuestionaryPage.java:
32)
at org.inqle.qa.web.pages.PrivatePage.<init>(PrivatePage.java:22)
at
org.inqle.qa.web.pages.PrivateDetailPage.<init>(PrivateDetailPage.java:
14)
at
org.inqle.qa.web.pages.questions.QuestionaryPage.<init>(QuestionaryPage.java:
20)