[ https://issues.apache.org/jira/browse/OFBIZ-4289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13400125#comment-13400125 ]
Jacopo Cappellato commented on OFBIZ-4289: ------------------------------------------ Jacques, I didn't note the synchronized statement; yes please remove it because it is the wrong way to make it thread safe; however I disagree that the variable is immutable; it would be immutable if set in a static initializer and marked as final, which is not the case here. However it is not the only example non thread safe fields in that class and the way the class is *currently* used is fine, so this is a minor issue; however it is not really a good pattern to define a static variable that should only be used after an object of that class is created (it is like of an implicit singleton). > Login out on a cluster handled by DeltaManager causes a NPE > ----------------------------------------------------------- > > Key: OFBIZ-4289 > URL: https://issues.apache.org/jira/browse/OFBIZ-4289 > Project: OFBiz > Issue Type: Bug > Components: framework > Affects Versions: Release Branch 4.0, Release Branch 09.04, Release Branch > 10.04, Release Branch 11.04, SVN trunk > Environment: Ubuntu > Reporter: Jacques Le Roux > Assignee: Jacques Le Roux > Priority: Critical > Labels: cluster, logout > Fix For: Release Branch 10.04, Release Branch 11.04, SVN trunk > > Attachments: OFBIZ-4289_Login_out_on_a > cluster_handled_by_DeltaManager_causes_a_NPE.patch, OFBIZ-4289_Login_out_on_a > cluster_handled_by_DeltaManager_causes_a_NPE.patch, OFBIZ-4289_Login_out_on_a > cluster_handled_by_DeltaManager_causes_a_NPE.patch, OFBIZ-4289_Login_out_on_a > cluster_handled_by_DeltaManager_causes_a_NPE.patch, OFBIZ-4289_Login_out_on_a > cluster_handled_by_DeltaManager_causes_a_NPE.patch, changeset_2510.diff > > > It works locally but not on clusters. You simply get a NPE. > h3. Problem > * When we logout we cross an issue due to Tomcat sessions persistence. > * Because we set distributable to true, to allow sessions failover, > * and use and DeltaManager for replication. > * Delegator and other main Classes (notably Dispatcher) are not > serialized in OFBiz. This is the origin of the problem > h3. Tried solutions > By default DeltaManager save active sessions on disk. It uses a private > String variable pathname for that (default to "SESSIONS.ser"). You can set it > to null, to avoid session persistence, using a context.xml file in the > WEB-INF folder with content like below. But I tried it in webtools app on > staging qs001 (only) and it did not work (with distributable set to false). > And we have no other means to set it from OFBiz (OOTB). > {code} > <Context> > <Manager className="org.apache.catalina.session.DeltatManager" > pathname=""> > </Manager> > </Context> > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira