Uploaded image for project: 'Spring Web Flow'
  1. Spring Web Flow
  2. SWF-1213

Problem with clustered sessions

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Complete
    • Affects Version/s: 2.0.8
    • Fix Version/s: 2.0.9
    • Component/s: Core: Flow Executor
    • Labels:
      None

      Description

      Problem described in the forum at http://forum.springsource.org/showthread.php?t=86144
      It seems fairly easy to fix this at the source, re-put the conversationContainer at end of FlowExecutorImpl.launchExecution (or at end of SessionBindingConversationManager.beginConversation() as mentioned in forum).

      Workaround right now is using a custom filter with the app which re-puts the conversationContainer at end of every request. Something like below filter:

      public class SpringWebflowWorkaroundFilter implements Filter {
      private static final String WEBFLOW_CONVERSATION_CONTAINER_KEY = "webflowConversationContainer";
      public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
      ServletException

      { chain.doFilter(request, response); springWebflowWorkaround(((HttpServletRequest) request).getSession()); }

      private void springWebflowWorkaround(HttpSession session) {
      if (session == null) return;
      // reput the conversationContainer after every request
      Object conversationContainer = session.getAttribute(WEBFLOW_CONVERSATION_CONTAINER_KEY);
      if (conversationContainer != null)

      { session.setAttribute(WEBFLOW_CONVERSATION_CONTAINER_KEY, conversationContainer); }

      }
      }

        Attachments

          Activity

            People

            Assignee:
            rstoya05-aop Rossen Stoyanchev
            Reporter:
            abhisanoujam abhishek sanoujam
            Votes:
            5 Vote for this issue
            Watchers:
            6 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: