[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
Thu Jun 18 12:21:38 CEST 2009


Hi Yves,

I did never test in-memory-replication of sessions with tomcat. But I 
would recommend to use sticky sessions in your load balancer to avoid 
any problem possible (I think of additional time needed to replicate the 
sessions, communication problems, cache interference,...).

Mailing list:

Kind Regards,
Achim.

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

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


Gute Kunden:

Achim Westermann

-------------------

Alkacon Software GmbH - The OpenCms Experts
Achim Westermann
An der Wachsfabrik 13
50996 Koeln, DE

Tel: +49 (0)2236 3826-12
Fax: +49 (0)2236 3826-20
Email: a.westermann at alkacon.com

http://www.alkacon.com
http://www.opencms.org


Yves Glodt wrote:
> Hallo Achim,
> 
> Thanks for the information!
> 
> Strangely, on my 7.0.5 installation, I can actually use the workplace while I 
> have set <Manager distributable="true">, but it seems the session is not 
> really ok, since after some time the workplace loses the information about 
> which site I chose before.
> 
> So, in case I need to replicate the sessions between 2 tomcats, the best would 
> be using the "in-memory"-replication as described here:
> http://tomcat.apache.org/tomcat-5.5-doc/cluster-howto.html ?
> 
> Best regards,
> Yves
> 
> 
> On Wednesday 17 June 2009 17:10:48 a.westermann at alkacon.com wrote:
>> 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(StandardSe
>>> ssionFacade.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_j
>>> sp._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.jav
>>> a: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(Applicat
>>> ionFilterChain.java:252) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte
>>> rChain.java:173) at
>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatch
>>> er.java:672) at
>>> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispa
>>> tcher.java:574) at
>>> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatc
>>> her.java:499) at
>>> org.opencms.flex.CmsFlexRequestDispatcher.includeExternal(CmsFlexRequestD
>>> ispatcher.java:194) at
>>> org.opencms.flex.CmsFlexRequestDispatcher.include(CmsFlexRequestDispatche
>>> r.java:169) at
>>> org.opencms.loader.CmsJspLoader.service(CmsJspLoader.java:1172) at
>>> org.opencms.flex.CmsFlexRequestDispatcher.includeInternalWithCache(CmsFle
>>> xRequestDispatcher.java:423) at
>>> org.opencms.flex.CmsFlexRequestDispatcher.include(CmsFlexRequestDispatche
>>> r.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.jav
>>> a: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(Applicat
>>> ionFilterChain.java:252) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte
>>> rChain.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.j
>>> ava:107) at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:14
>>> 8) 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:6
>>> 97) at
>>> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.j
>>> ava: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