Hi,
Your thanks for your suggestion but I don't think it applies to my
problem.
I am not copying the list.

This is the class that genarates the error.

@ManagedBean()
@SessionScoped
public class MyTemplates  implements java.io.Serializable{
        Template template;
        String text;
        List<Template> templates;
        String owner;

public String getMyTemplates(){
                this.owner=this.getUser("getMyTemplates");
                PersistenceManager pm = PMF.get().getPersistenceManager();//
            String query = "select from " + Template.class.getName() + "
where owner=='"+owner+"' ";//order by name
            this.templates = (List<Template>) pm.newQuery(query).execute();
            int n=templates.size();
            if(n==0) this.text="No Templates";
            else this.text="";
            System.out.print("Got Tempaltes::"+n);
            return "viewtemp.xhtml";
        }

--setters--
--getters--
}

Template has the following defination

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Template  implements java.io.Serializable{
        @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;
        @Persistent
        String name;
        @Persistent
        String description;
        @Persistent
        String height;
        @Persistent
        String width;
        @Persistent
        String fontcolor;
        @Persistent
        String bgcolor;
        @Persistent
        String owner;

--setters--
--getters--
}

This code works fine on my local machine but when deployed it throws
exceptions. Does anyone have any idea why this happens?
Thanks!


On Apr 20, 4:25 pm, mini998 <[email protected]> wrote:
> Found the answer,
>
> Have to copy all the contents in the query result to a new list
>
> eg,
>
> projectsTemp = (List<Project>) query.execute();
> List<Project> projects = new ArrayList<Project>();
> projects.addAll(projectsTemp);
> planet.setProjects(projects);
>
> hope this helps
>
> On Apr 20, 4:29 pm, mini998 <[email protected]> wrote:
>
> > Hi, I have the same problem
>
> > I think its due to the result set being not serialized
>
> > do not know how to serialize the result set before putting it to
> > session
>
> > any ideas thanks in advance
>
> > On Apr 19, 9:52 pm,CodeMan<[email protected]> wrote:
>
> > > Hi,
>
> > > I am getting the error below in a JSF app when I try to fetch a
> > > List<Template>.
>
> > > Using this code:
> > >             PersistenceManager pm =
> > > PMF.get().getPersistenceManager();//
> > >             String query = "select from " + Template.class.getName() + "
> > > where owner=='"+owner+"' ";
> > >             this.templates = (List<Template>) 
> > > pm.newQuery(query).execute();
>
> > > Can you help figure out what's causing it.
>
> > > Thanks.
>
> > > #
>
> > >    1.
> > >       04-19 01:42PM 52.901 /pages/newcbx.faces 500 18322ms 24015cpu_ms
> > > 40api_cpu_ms 0kb Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:
> > > 1.9.0.17) Gecko/2009122116 Firefox/3.0.17 (.NET CLR
> > > 3.5.30729),gzip(gfe)
> > >       See details
>
> > >       98.229.74.17 - - [19/Apr/2010:13:43:11 -0700] "POST /pages/
> > > newcbx.faces HTTP/1.1" 500 0 "http://ezcomment.appspot.com/pages/
> > > dusers.faces" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:
> > > 1.9.0.17) Gecko/2009122116 Firefox/3.0.17 (.NET CLR
> > > 3.5.30729),gzip(gfe)" "ezcomment.appspot.com"
>
> > >    2.
> > >       W 04-19 01:43PM 02.874
>
> > >       [ezcomment/1.341368964543160070].<stderr>: SystemId Unknown;
> > > Line #57; Column #31; Failed calling setMethod method
>
> > >    3.
> > >       W 04-19 01:43PM 03.367
>
> > >       [ezcomment/1.341368964543160070].<stderr>: SystemId Unknown;
> > > Line #57; Column #31; Failed calling setMethod method
>
> > >    4.
> > >       W 04-19 01:43PM 11.177
>
> > >       /pages/newcbx.faces
> > >       java.lang.RuntimeException: java.io.NotSerializableException:
> > > org.datanucleus.store.appengine.query.DatastoreQuery$2
> > >         at
> > > com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager
> > >  .java:
> > > 361)
> > >         at
> > > com.google.apphosting.runtime.jetty.SessionManager.createEntityForSession(S
> > >  essionManager.java:
> > > 341)
> > >         at com.google.apphosting.runtime.jetty.SessionManager
> > > $AppEngineSession.save(SessionManager.java:162)
> > >         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:
> > > 243)
> > >         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(BlockingAp
> > >  plicationHandler.java:
> > > 24)
> > >         at
> > > com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:398)
> > >         at com.google.net.rpc.impl.Server$2.run(Server.java:852)
> > >         at
> > > com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:
> > > 56)
> > >         at
> > > com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpa
> > >  nBuilder.java:
> > > 536)
> > >         at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
> > >         at com.google.net.rpc.impl.Server.processRequest(Server.java:
> > > 369)
> > >         at
> > > com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.j
> > >  ava:
> > > 442)
> > >         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.j
> > >  ava:
> > > 831)
> > >         at
> > > com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
> > > 207)
> > >         at
> > > com.google.net.async.EventDispatcher.loop(EventDispatcher.java:103)
> > >         at
> > > com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:
> > > 251)
> > >         at com.google.apphosting.runtime.JavaRuntime
> > > $RpcRunnable.run(JavaRuntime.java:404)
> > >         at java.lang.Thread.run(Unknown Source)
> > >       Caused by: java.io.NotSerializableException:
> > > org.datanucleus.store.appengine.query.DatastoreQuery$2
> > >         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> > >         at java.io.ObjectOutputStream.writeObject(Unknown Source)
> > >         at java.util.ArrayList.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.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.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
>
> > >    5.
> > >       C 04-19 01:43PM 11.197
>
> > >       Uncaught exception from servlet
> > >       java.lang.RuntimeException: java.io.NotSerializableException:
> > > org.datanucleus.store.appengine.query.DatastoreQuery$2
> > >         at
> > > com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager
> > >  .java:
> > > 361)
> > >         at
> > > com.google.apphosting.runtime.jetty.SessionManager.createEntityForSession(S
> > >  essionManager.java:
> > > 341)
> > >         at com.google.apphosting.runtime.jetty.SessionManager
> > > $AppEngineSession.save(SessionManager.java:162)
> > >         at
>
> ...
>
> read more »

-- 
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