Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-1812

refactor the pause/resume mechanism in PhaseInterceptorChain

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • 2.0.9, 2.1.3
    • None
    • None

    Description

      currently the pause/resume in PhaseInterceptorChain doesn't work.
      If invoke pause() in one interceptor, the PhaseInterceptorChain.doIntercept() will exit with COMPLETE status, which means we have no chance to resume the paused interceptorChain.
      We need use wait/notifyall mechanism to refactor it
      something like in PhaseInterceptorChain.doIntercept(), we add
      while (state == State.PAUSED) {
      try

      { wait(); }

      catch (InterruptedException e) {
      }
      }
      notifyAll();
      and the resume() method should be
      if (state == State.PAUSED)

      { state = State.EXECUTING; notifyAll(); }

      Attachments

        Activity

          People

            ffang Freeman Yue Fang
            ffang Freeman Yue Fang
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: