https://bugs.eclipse.org/bugs/show_bug.cgi?id=328274
nm, I have logged the issue in the above link jesse -- jesse mcconnell [email protected] On Wed, Oct 20, 2010 at 10:43, Jesse McConnell <[email protected]>wrote: > > thanks for the report, could you log it in issue tracking? > > https://bugs.eclipse.org/bugs/enter_bug.cgi > > RT -> Jetty > > I'll start taking a look now > > jesse > > -- > jesse mcconnell > [email protected] > > > On Wed, Oct 20, 2010 at 10:35, Mike Jiang <[email protected]> wrote: > >> Hi, All >> I have used the jetty server 7.1.3 as the app server for a while. >> First the JAAS (Java Authentication and Authorization service) is used and >> it worked with no error. >> Secondly, we tried to use the Session Clustering with Database, a >> feature offered by the jetty server also. It's for the case in which there >> are multiple server instances running in a load balancing environment. The >> DB is used as a persistent storage for the session's attributes so the >> attributes can be shared by the server instances. >> >> However, when the JAAS and Session Clustering with DB are in effect >> at the same time, a NonSerializableException was thrown as follows, >> >> 2010-10-06 15:51:08.549:WARN::Problem persisting changed session >> data id=fredsft3xjud8yc59jaiszql57lo >> >> *java.io.NotSerializableException*: >> org.eclipse.jetty.server.session.JDBCSessionManager >> >> 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.concurrent.ConcurrentHashMap.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 >> org.eclipse.jetty.server.session.JDBCSessionManager.updateSession(* >> JDBCSessionManager.java:949*) >> >> at >> org.eclipse.jetty.server.session.JDBCSessionManager$Session.complete(* >> JDBCSessionManager.java:341*) >> >> at org.eclipse.jetty.server.session.AbstractSessionManager.complete( >> *AbstractSessionManager.java:144*) >> >> at org.eclipse.jetty.server.session.SessionHandler.doScope(* >> SessionHandler.java:199*) >> >> at org.eclipse.jetty.server.handler.ContextHandler.doScope(* >> ContextHandler.java:860*) >> >> at org.eclipse.jetty.server.handler.ScopedHandler.handle(* >> ScopedHandler.java:117*) >> >> at org.eclipse.jetty.server.handler.HandlerList.handle(* >> HandlerList.java:47*) >> >> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(* >> HandlerWrapper.java:113*) >> >> at org.eclipse.jetty.server.Server.handle(*Server.java:335*) >> >> at org.eclipse.jetty.server.HttpConnection.handleRequest(* >> HttpConnection.java:588*) >> >> at >> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(* >> HttpConnection.java:1029*) >> >> at org.eclipse.jetty.http.HttpParser.parseNext(*HttpParser.java:549 >> *) >> >> at org.eclipse.jetty.http.HttpParser.parseAvailable(* >> HttpParser.java:211*) >> >> at org.eclipse.jetty.server.HttpConnection.handle(* >> HttpConnection.java:418*) >> >> at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(* >> SelectChannelEndPoint.java:489*) >> >> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(* >> QueuedThreadPool.java:436*) >> >> at java.lang.Thread.run(Unknown Source) >> >> >> Debugging into the code, it was found that the problem was caused in >> the following steps: >> >> >> 1). In the process of the JAAS, the code sets a class: >> SessionAuthentication as a session attribute. SessionAuthentication is >> implemented as a serializable object but its member, DefaultUserIdentity is >> not. So the SessionAuthentication is not a serializable object at all; >> >> 2). In Session Clustering with DB process, the JDBCSessionManager tried >> to save all the sessions' attributes-all of them must be serializable-to the >> database. However, one of the attribute, SessionAuthentication, is not a >> serialiable object, so the above exception is thrown and the process is >> interrupted. >> >> >> Kindly hope you can help me for this. >> >> >> Thanks, >> >> >> M. J. >> >> >> >> >> _______________________________________________ >> jetty-users mailing list >> [email protected] >> https://dev.eclipse.org/mailman/listinfo/jetty-users >> >> >
_______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
