Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-1593

ExecuteAndWaitInterceptor no longer works after upgrading from WebWork 2.2.4

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.1, 2.0.2
    • 2.0.3
    • Core Interceptors
    • None
    • Sun JDK 1.5; WinXP; WebLogic 9.2

    Description

      After upgrading from WebWork 2.2.4 to Struts 2.0.2-SNAPSHOT the actions that use the ExecuteAndWaitInterceptor no longer work. Looking at the changes to the interceptor it appears that the changes to add the "executeAfterValidationPass" property are causing the problem.

      To support this feature a new local variable "secondTime", which defaults to true, was added to the doIntercept() method. Later in the code are various checks to determine what result should be returned. The following is a condensed version of the if-else:

      if (!secondTime && bp != null && !bp.isDone())

      { return WAIT; }

      else if (!secondTime && bp != null && bp.isDone())

      { return bp.getResult(); }

      else

      { return actionInvocation.invoke(); }

      Looking at the code I can't see how the "secondTime" variable can ever be set to false except on the first iteration or if you're using the "executeAfterValidationPass" property.

      The workaround for now is to use the ExecuteAndWaitInterceptor that ships with WebWork 2.2.4.

      Attachments

        Activity

          People

            mrdon Donald J. Brown
            epilz Erik Pilz
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: