You're probably using the same Wicket setup as I am - Sessions are
stored in the datastore.

The Jetty local development set-up clearly doesn't emulate the real
thing exactly by the looks of it. But by using LoadableDetachableModel
the list is populated once per request and detached when the component
tree is sent to the db. Everything needs to be serializable for that
to happen.

What's probably happening is that your local Jetty server doesn't
bother looking at appengine-web.xml at all therefore not picking up
<sessions-enabled>true</sessions-enabled> required for wicket to work
in production.

Regards,
Eurig Jones

On Sep 26, 11:56 pm, Meetu Maltiar <[email protected]> wrote:
> This looks like a fine approach as detachable models will make it
> cheaper to Serialize I guess. Were you able to find the reason why it
> gave error before andworksnow?
> I am curious to know what happens when you create a new collection of
> myListObject and not use LoadableDetachableModel.
>
> On Sep 26, 10:46 pm, Eurig Jones <[email protected]> wrote:
>
>
>
>
>
>
>
> > I had the same issue withWicket / JPAcombination.
>
> > My particular problem was that I was using a ListView by passing a
> > List directly into the constructor:
>
> > ListView<Post> listView = new ListView<Post>("id", myListObject)
> > { ... }
>
> > My solution was to instead use a LoadableDetachableModel for the
> > ListView.
>
> > On Aug 20, 7:01 am, Meetu Maltiar <[email protected]> wrote:
>
> > > TheapplicationhasWicket/JPA/Spring. Itworkslocallyon
> > > dev_appserver. After I deploy it on GAE itfailswith the following
> > > track trace. I am failing to understand what might be the cause of the
> > > error.
>
> > > java.lang.RuntimeException: java.io.NotSerializableException:
> > > org.datanucleus.store.appengine.query.DatastoreQuery$2
> > >         at
> > > com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager
> > >  .java:
> > > 387)
> > >         at
> > > com.google.apphosting.runtime.jetty.SessionManager.createEntityForSession(S
> > >  essionManager.java:
> > > 364)
> > >         at com.google.apphosting.runtime.jetty.SessionManager
> > > $AppEngineSession.save(SessionManager.java:164)
> > >         at
> > > com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionF
> > >  ilter.java:
> > > 41)
> > >         at org.mortbay.jetty.servlet.ServletHandler
> > > $CachedChain.doFilter(ServletHandler.java:1157)
> > >         at
> > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans
> > >  actionCleanupFilter.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(AppVersionH
> > >  andlerMap.java:
> > > 238)
> > >         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(RpcRequ
> > >  estParser.java:
> > > 76)
> > >         at 
> > > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> > >         at
> > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques
> > >  t(JettyServletEngineAdapter.java:
> > > 135)
> > >         at
> > > com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
> > > 251)
> > >         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > > $6.handleBlockingRequest(RuntimePb.java:6784)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to