haha, bug clash, I'll close mine -- jesse mcconnell [email protected]
On Wed, Oct 20, 2010 at 12:43, Jesse McConnell <[email protected]>wrote: > 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
