DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=32370>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32370

           Summary: FacesRequestProcessor call to lifecycle.render(context)
                    needs to be wrapped in a try, finally
           Product: Struts
           Version: 1.2.4
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: Struts-Faces Library
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


In FacesRequestProcessor.doForward() (as well as FacesTilesRequestProcessor), if
the call to lifecycle.render(context) throws an exception, then the context is
never given a chance to be released, resulting in an invalid FacesContext being
pegged to the executing thread.

The following code:
======== SNIP ========
        lifecycle.render(context);
        if (created) {
            if (log.isTraceEnabled()) {
                log.trace("  Releasing context for '" + uri + "'");
            }
            context.release();
        } else {
            if (log.isTraceEnabled()) {
                log.trace("  Rendering completed");
            }
        }
======== /SNIP ========

Should probably be changed to something like:
======== SNIP ========
        try {
            lifecycle.render(context);
            
        } finally {
            if (created) {
                if (log.isTraceEnabled()) {
                    log.trace("  Releasing context for '" + uri + "'");
                }
                context.release();
            } else {
                if (log.isTraceEnabled()) {
                    log.trace("  Rendering completed");
                }
            }
        }
======== /SNIP ========

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to