Hi Daniel, Looking at the javadoc for HtmlSelectManyListbox ( http://java.sun.com/javaee/javaserverfaces/2.0/docs/api/javax/faces/component/html/HtmlSelectManyListbox.html ) it looks like it doesn't implement Serializable. Since you are binding to it in a session scoped bean, you must have a reference to it in your bean, then it looks like GAE is trying to serialize the session, which includes your bound instance of that class.
This is all just guesswork based on your stack trace. If it were my code, I would probably try to figure out how to do what I need to do without binding jsf controls in my managed beans. Joel On Sun, Feb 28, 2010 at 3:19 PM, Daniel <[email protected]> wrote: > Hi > > I got a small JSF 2 application with 1 managed bean defined as > @SessionScoped and i just added a HtmlSelectManyListbox and did > binding to it from h:selectManyListbox > all works 100% from local server, but after deploying im getting > exception... > > and i did add implements Serializable to the class > > and added private static final long serialVersionUID.... > > my gae sdk version is: > Your SDK: > Release: 1.3.0 > Timestamp: Mon Dec 14 20:47:37 IST 2009 > API versions: [1.0] > > > > This the exception > > > java.lang.RuntimeException: java.io.NotSerializableException: > javax.faces.component.html.HtmlSelectManyListbox > at > > com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager.java: > 361) > at > > com.google.apphosting.runtime.jetty.SessionManager.createEntityForSession(SessionManager.java: > 341) > at com.google.apphosting.runtime.jetty.SessionManager > $AppEngineSession.save(SessionManager.java:162) > at > > com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java: > 41) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: > 43) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: > 360) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: > 216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: > 181) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: > 712) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > 405) > at > > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java: > 238) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > 139) > at org.mortbay.jetty.Server.handle(Server.java:313) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > 506) > at org.mortbay.jetty.HttpConnection > $RequestHandler.headerComplete(HttpConnection.java:830) > at > > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java: > 76) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) > at > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java: > 135) > at > com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java: > 235) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5485) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5483) > at > > com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java: > 24) > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: > 363) > at com.google.net.rpc.impl.Server$2.run(Server.java:837) > at > com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java: > 56) > at > > com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java: > 536) > at com.google.net.rpc.impl.Server.startRpc(Server.java:792) > at com.google.net.rpc.impl.Server.processRequest(Server.java:367) > at > > com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java: > 448) > at > com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java: > 319) > at > com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java: > 290) > at com.google.net.async.Connection.handleReadEvent(Connection.java: > 474) > at > > com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java: > 774) > at > com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java: > 205) > at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: > 101) > at > com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java: > 251) > at com.google.apphosting.runtime.JavaRuntime > $RpcRunnable.run(JavaRuntime.java:394) > at java.lang.Thread.run(Unknown Source) > Caused by: java.io.NotSerializableException: > javax.faces.component.html.HtmlSelectManyListbox > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) > at java.io.ObjectOutputStream.writeSerialData(Unknown Source) > at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.writeObject(Unknown Source) > at java.util.HashMap.writeObject(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) > at java.io.ObjectOutputStream.writeSerialData(Unknown Source) > at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.writeObject(Unknown Source) > at > > com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager.java: > 358) > ... 39 more > > > any idea what i should add to fix this problem? > > thx ahead! > > Daniel > > -- > 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]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > -- 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.
