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

refactor the pause/resume mechanism in PhaseInterceptorChain

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: 2.0.9, 2.1.3
    • Component/s: None
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: