Re: [appengine-java] Failure to write objects to HttpSession - NotSerializableException : LazyResult

2010-06-03 Thread Ifnu bima
You need to implements serializable interface to User class, something like :

public class User implements Serializable {

}




-- 

regards

-- 
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 google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Failure to write objects to HttpSession - NotSerializableException : LazyResult

2010-06-02 Thread Ikai L (Google)
The User isn't serializable. Are you using the standard User class or a
custom User class?

On Tue, Jun 1, 2010 at 8:03 PM, Shawn Draper  wrote:

> I am storing user-profile information in the data store and retrieving
> with the following code:
>
> public static User getUserByID ( String userName ) throws Exception
>{
>PersistenceManager mgr = PMF.getInstance
> ( ).getPersistenceManager ( );
>Query query = mgr.newQuery ( User.class );
>query.setFilter ( "userName == param" );
>query.declareParameters ( "String param" );
>
>try
>{
>List  results = (List ) query.execute
> ( userName );
>Iterator  i = results.iterator ( );
>if ( i.hasNext ( ) )
>return mgr.detachCopy ( i.next ( ) );
>else
>throw new Exception ( "Unable to locate user [" +
> userName + "]" );
>}
>finally
>{
>query.closeAll ( );
>mgr.close ( );
>}
>}
>
> I'm storing the data in the HttpSession object with the following
> code:
>
> req.getSession ( true ).setAttribute ( "USER", user );
> log ( "Session data loaded.  Redirecting to " + nxtactn + "..." );
> resp.sendRedirect ( nxtactn );
>
> The following Exception is thrown when the Servlet redirects.
>
> /Login
> java.lang.RuntimeException: java.io.NotSerializableException:
> org.datanucleus.store.appengine.query.LazyResult
>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: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:
> 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(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:
> 250)
>at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:5838)
>at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:5836)
>at
>
> com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.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(LocalTraceSpanBuilder.java:
> 576)
>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.java:
> 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.java:
> 831)
>at
> com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
> 207)
>at com.google.net.async.E

[appengine-java] Failure to write objects to HttpSession - NotSerializableException : LazyResult

2010-06-02 Thread Shawn Draper
I am storing user-profile information in the data store and retrieving
with the following code:

public static User getUserByID ( String userName ) throws Exception
{
PersistenceManager mgr = PMF.getInstance
( ).getPersistenceManager ( );
Query query = mgr.newQuery ( User.class );
query.setFilter ( "userName == param" );
query.declareParameters ( "String param" );

try
{
List  results = (List ) query.execute
( userName );
Iterator  i = results.iterator ( );
if ( i.hasNext ( ) )
return mgr.detachCopy ( i.next ( ) );
else
throw new Exception ( "Unable to locate user [" +
userName + "]" );
}
finally
{
query.closeAll ( );
mgr.close ( );
}
}

I'm storing the data in the HttpSession object with the following
code:

req.getSession ( true ).setAttribute ( "USER", user );
log ( "Session data loaded.  Redirecting to " + nxtactn + "..." );
resp.sendRedirect ( nxtactn );

The following Exception is thrown when the Servlet redirects.

/Login
java.lang.RuntimeException: java.io.NotSerializableException:
org.datanucleus.store.appengine.query.LazyResult
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: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:
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(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:
250)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5838)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5836)
at
com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.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(LocalTraceSpanBuilder.java:
576)
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.java:
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.java:
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:413)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.NotSerializableException:
org.datanucleus.store.appengine.query.LazyResult