Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Jetty server 7.1.3: NonSerializableException thrown when running JAAS and Session Clustering with DB together


you can grab the corresponding zip file as well

and we have a plugin landing soon, it is going through the CQ process right now

jesse

--
jesse mcconnell
jesse.mcconnell@xxxxxxxxx


On Wed, Oct 20, 2010 at 13:38, Mike Jiang <mikej1688@xxxxxxxxx> wrote:
Thanks a lot.
One quick question: is this file working for my Windows Vista System? I can unzip it using 7-zip but not sure if it is for windows also.
Another question: Since for jetty server 7 or above, there is no a jetty server plugin for Eclipse ( there is one for jetty server 6.x), I must bound the jetty server myself with my web project by using Eclipse's Launching config if I want to run debugging mode, I was wondering if there is one such plugin soon?

Best regards,

Mike J.


On Wed, Oct 20, 2010 at 1:56 PM, Jesse McConnell <jesse.mcconnell@xxxxxxxxx> wrote:


I am pushing up a snapshot with that fix you can try out if you like..its uploaded as I write this so give it a few minutes to finish

I suspect I'll be re-rolling the 7.2.0 release today so this fix will be included in that release if it works for you

let me know if that fix takes care of the problem I did a quick poke around for any others like that but didn't see anything jump out

jesse

--
jesse mcconnell
jesse.mcconnell@xxxxxxxxx


On Wed, Oct 20, 2010 at 12:49, Mike Jiang <mikej1688@xxxxxxxxx> wrote:
Jesse,
       Thank you very much for the response. Do you have any working around right now?

       
       Regards,

       Mike J.


On Wed, Oct 20, 2010 at 1:43 PM, Jesse McConnell <jesse.mcconnell@xxxxxxxxx> wrote:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=328274

nm, I have logged the issue in the above link

jesse

--
jesse mcconnell
jesse.mcconnell@xxxxxxxxx


On Wed, Oct 20, 2010 at 10:43, Jesse McConnell <jesse.mcconnell@xxxxxxxxx> wrote:

thanks for the report, could you log it in issue tracking?


RT -> Jetty

I'll start taking a look now

jesse

--
jesse mcconnell
jesse.mcconnell@xxxxxxxxx


On Wed, Oct 20, 2010 at 10:35, Mike Jiang <mikej1688@xxxxxxxxx> 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
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users




_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



Back to the top