Author: mgrigorov
Date: Mon Sep 12 12:46:50 2011
New Revision: 1169718

URL: http://svn.apache.org/viewvc?rev=1169718&view=rev
Log:
WICKET-4029 Improve RequestLogger to not do anything after 
IPageManager#commitRequest()

Move request logger dump from the end of RequestCycle's onDetach() to 
IRequestCycleListener#onEndRequest.
This way Wicket will detach all reqources after it.

tested-by:
 - Andrea Del Bene
 - Emond Papegaaij


Modified:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java?rev=1169718&r1=1169717&r2=1169718&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java 
(original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Application.java 
Mon Sep 12 12:46:50 2011
@@ -1551,6 +1551,19 @@ public abstract class Application implem
                        {
                                Session.get().getPageManager().commitRequest();
                        }
+
+                       @Override
+                       public void onEndRequest(RequestCycle cycle)
+                       {
+                               if (Application.exists())
+                               {
+                                       IRequestLogger requestLogger = 
Application.get().getRequestLogger();
+                                       if (requestLogger != null)
+                                       {
+                                               
requestLogger.requestTime((System.currentTimeMillis() - cycle.getStartTime()));
+                                       }
+                               }
+                       }
                });
                requestCycle.getListeners().add(requestCycleListeners);
                return requestCycle;

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java?rev=1169718&r1=1169717&r2=1169718&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
 Mon Sep 12 12:46:50 2011
@@ -16,7 +16,6 @@
  */
 package org.apache.wicket.request.cycle;
 
-import org.apache.wicket.Application;
 import org.apache.wicket.MetaDataEntry;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.Page;
@@ -24,7 +23,6 @@ import org.apache.wicket.Session;
 import org.apache.wicket.ThreadContext;
 import org.apache.wicket.event.IEvent;
 import org.apache.wicket.event.IEventSink;
-import org.apache.wicket.protocol.http.IRequestLogger;
 import org.apache.wicket.request.IExceptionMapper;
 import org.apache.wicket.request.IRequestCycle;
 import org.apache.wicket.request.IRequestHandler;
@@ -499,15 +497,6 @@ public class RequestCycle implements IRe
                {
                        Session.get().internalDetach();
                }
-
-               if (Application.exists())
-               {
-                       IRequestLogger requestLogger = 
Application.get().getRequestLogger();
-                       if (requestLogger != null)
-                       {
-                               
requestLogger.requestTime((System.currentTimeMillis() - startTime));
-                       }
-               }
        }
 
        /**


Reply via email to