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

Reply via email to