Announcement Announcement Module
No announcement yet.
Cluster session replication problem Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cluster session replication problem


    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:

    ERROR - Unable to serialize delta request for session id [....... .node01] org.springframework.webflow.context.SharedMapDecorator
          at ....
    We store externalContext.getSessionMap() in the HTTP Session in order to invoke FlowExecutor.launch method next time.

      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);
    I have downloaded 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.

    public class SharedMapDecorator implements SharedMap, Serializable {
    Any help would be very much appreciated.

    Thanks a lot.