Author: jcompagner
Date: Tue May 13 12:40:08 2008
New Revision: 655985
URL: http://svn.apache.org/viewvc?rev=655985&view=rev
Log:
WICKET-1409 RequestLogger counts active requests wrong
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java?rev=655985&r1=655984&r2=655985&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
Tue May 13 12:40:08 2008
@@ -30,7 +30,9 @@
import org.apache.wicket.IClusterable;
import org.apache.wicket.IPageMap;
import org.apache.wicket.IRequestTarget;
+import org.apache.wicket.MetaDataKey;
import org.apache.wicket.Page;
+import org.apache.wicket.RequestCycle;
import org.apache.wicket.Session;
import
org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
import org.apache.wicket.request.target.component.IPageRequestTarget;
@@ -64,6 +66,11 @@
protected static Logger log =
LoggerFactory.getLogger(RequestLogger.class);
+ private static MetaDataKey<RequestData> REQUEST_DATA = new
MetaDataKey<RequestData>()
+ {
+ private static final long serialVersionUID = 1L;
+ };
+
/**
* This interface can be implemented in a custom session object. to
give an object that has more
* information for the current session (state of session).
@@ -184,11 +191,12 @@
RequestData getCurrentRequest()
{
- RequestData rd = currentRequest.get();
+ RequestCycle requestCycle = RequestCycle.get();
+ RequestData rd = requestCycle.getMetaData(REQUEST_DATA);
if (rd == null)
{
rd = new RequestData();
- currentRequest.set(rd);
+ requestCycle.setMetaData(REQUEST_DATA, rd);
active.incrementAndGet();
}
return rd;
@@ -199,7 +207,7 @@
*/
public void requestTime(long timeTaken)
{
- RequestData rd = currentRequest.get();
+ RequestData rd = RequestCycle.get().getMetaData(REQUEST_DATA);
if (rd != null)
{
if (active.get() > 0)
@@ -234,7 +242,6 @@
rd.setTimeTaken(timeTaken);
requests.add(0, rd);
- currentRequest.set(null);
if (sessionId != null)
{
SessionData sd = liveSessions.get(sessionId);