[opencms-dev] Problem with storing session data in JDBCStore, but only on 7.0.4

a.westermann at alkacon.com a.westermann at alkacon.com
Wed Jun 17 17:10:48 CEST 2009


Hi Yves,

you cannot configure tomcat to persist session data with OpenCms. Did 
you set up Tomcat with a

<Context..>
  <Manager distributable="true">?

CmsWorkplaceSettings class is not Serializable and the attempt to 
setAttribute on a session with an instance of it will raise that exception:

http://tomcat.apache.org/tomcat-5.5-doc/config/context.html


Kind Regards,
Achim.

-------------------
Achim Westermann

Alkacon Software GmbH  - The OpenCms Experts
http://www.alkacon.com - http://www.opencms.org

Visit OpenCms Days 2009 Conference and Expo
June 15 to June 16 2009 in Cologne, Germany
http://www.opencms-days.org


Yves Glodt wrote:
> Hi,
> 
> I have a setup of OpenCms-7.0.5-jpa-2009-03-31 and I set it up to store the session data in JDBCStore in a Firebird database. This works well. The sites as well as the workplace work.
> 
> Now I tried the same on a 7.0.4, and the sites work as well, but login to the workplace fails with the exception "setAttribute: Non-serializable attribute" (see the complete exception below.)
> 
> Is there a known issue with that?
> 
> I could not see anything related in the 7.0.5 release-notes.
> 
> Best regards,
> Yves
> 
> 
> 
> 17 Jun 2009 14:44:12,848 ERROR [ina.core.ApplicationDispatcher: 704] Servlet.service() for servlet jsp threw exception
> java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute
> at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1255)
> at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1233)
> at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:129)
> at org.opencms.workplace.CmsWorkplace.storeSettings(CmsWorkplace.java:607)
> at org.opencms.workplace.CmsWorkplace.initWorkplaceMembers(CmsWorkplace.java:1932)
> at org.opencms.workplace.CmsWorkplace.<init>(CmsWorkplace.java:259)
> at org.opencms.workplace.CmsFrameset.<init>(CmsFrameset.java:112)
> at org.apache.jsp.WEB_002dINF.jsp.offline.system.workplace.views.workplace_jsp._jspService(workplace_jsp.java:46)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
> at org.opencms.flex.CmsFlexRequestDispatcher.includeExternal(CmsFlexRequestDispatcher.java:194)
> at org.opencms.flex.CmsFlexRequestDispatcher.include(CmsFlexRequestDispatcher.java:169)
> at org.opencms.loader.CmsJspLoader.service(CmsJspLoader.java:1172)
> at org.opencms.flex.CmsFlexRequestDispatcher.includeInternalWithCache(CmsFlexRequestDispatcher.java:423)
> at org.opencms.flex.CmsFlexRequestDispatcher.include(CmsFlexRequestDispatcher.java:173)
> at org.opencms.loader.CmsJspLoader.dispatchJsp(CmsJspLoader.java:1206)
> at org.opencms.loader.CmsJspLoader.load(CmsJspLoader.java:1150)
> at org.opencms.loader.CmsResourceManager.loadResource(CmsResourceManager.java:964)
> at org.opencms.main.OpenCmsCore.showResource(OpenCmsCore.java:1494)
> at org.opencms.main.OpenCmsServlet.doGet(OpenCmsServlet.java:152)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
> at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
> 
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev



More information about the opencms-dev mailing list