From c351d203d6e2dd9215d062c343f0abd82834df83 Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Tue, 8 Jan 2019 15:13:07 -0500 Subject: [PATCH] Execute post-request interceptors in a finally of their own --- .../pageflow/PageFlowRequestProcessor.java | 58 +++++++++---------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/beehive-netui-core/src/main/java/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java b/beehive-netui-core/src/main/java/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java index 4f4fff6..3acdf07 100644 --- a/beehive-netui-core/src/main/java/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java +++ b/beehive-netui-core/src/main/java/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java @@ -854,39 +854,37 @@ public class PageFlowRequestProcessor } finally { - // - // If this is not a forwarded request, then commit any session-scoped changes that were stored in the - // request. - // - if ( ! isForwardedRequest ) - { - Handlers.get( getServletContext() ).getStorageHandler().applyChanges( requestContext ); - } + try { + // + // If this is not a forwarded request, then commit any session-scoped changes that were stored in the + // request. + // + if (!isForwardedRequest) { + Handlers.get(getServletContext()).getStorageHandler().applyChanges(requestContext); + } - // - // Callback to the server adapter. - // - _servletContainerAdapter.endRequest( request, response ); - long timeTaken = System.currentTimeMillis() - startTime; - er.endActionRequest( requestContext, timeTaken ); + // + // Callback to the server adapter. + // + _servletContainerAdapter.endRequest(request, response); + long timeTaken = System.currentTimeMillis() - startTime; + er.endActionRequest(requestContext, timeTaken); - // - // Execute post-request interceptors - // - try - { - Interceptors.doPostIntercept( context, interceptors ); - } - catch ( InterceptorException e ) - { - ServletUtils.throwServletException(e); - } + } finally { + // + // Execute post-request interceptors + // + try { + Interceptors.doPostIntercept(context, interceptors); + } catch (InterceptorException e) { + ServletUtils.throwServletException(e); + } - if ( LOG.isTraceEnabled() ) - { - LOG.trace( "-------------------------------- End Request #" + - localRequestCount + - " ------------------------------------" ); + if (LOG.isTraceEnabled()) { + LOG.trace("-------------------------------- End Request #" + + localRequestCount + + " ------------------------------------"); + } } } }