Hello,
We are developing an application that uses OpenLaszlo and Spring Web Flow 1.0-rc3.
The application works perfectly in one Tomcat 5.5 node. But, when we deploy the application in a Tomcat 5.5 cluster (two nodes with mod_jk), we are having problems with session replication.
To execute flow, we are using FlowExecutor, launch and signalEvent methods.
The following exception is thrown:
We store externalContext.getSessionMap() in the HTTP Session in order to invoke FlowExecutor.launch method next time.Code:ERROR - Unable to serialize delta request for session id [....... .node01] java.io.NotSerializableException: org.springframework.webflow.context.SharedMapDecorator at .... ....
I have downloaded SharedMapDecorator.java source and added "implements Serializable" and now it works perfectly in the cluster, balancing and replicating the session, but I suspect there is a better way to do this.Code:... externalContext.setSessionMap((SharedAttributeMap) httpSession.getAttribute("sessionMap")); externalContext.setApplicationMap((SharedAttributeMap) httpSession.getAttribute("applicationMap")); ... WebApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(OpenLaszloHelper.getServletRequest().getSession().getServletContext()); FlowExecutor flowExecutor = (FlowExecutor) applicationContext.getBean("flowExecutor"); ResponseInstruction responseInstruction = flowExecutor.signalEvent(eventId, flowExecutionKey, externalContext); ...
Any help would be very much appreciated.Code:public class SharedMapDecorator implements SharedMap, Serializable { ...
Thanks a lot.


Reply With Quote