You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2010/01/21 08:18:56 UTC
svn commit: r901577 -
/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/request/SlingRequestProgressTracker.java
Author: cziegeler
Date: Thu Jan 21 07:18:41 2010
New Revision: 901577
URL: http://svn.apache.org/viewvc?rev=901577&view=rev
Log:
SLING-1309 : Potential concurrent modification exception during request progress tracker dump
Modified:
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/request/SlingRequestProgressTracker.java
Modified: sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/request/SlingRequestProgressTracker.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/request/SlingRequestProgressTracker.java?rev=901577&r1=901576&r2=901577&view=diff
==============================================================================
--- sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/request/SlingRequestProgressTracker.java (original)
+++ sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/request/SlingRequestProgressTracker.java Thu Jan 21 07:18:41 2010
@@ -154,6 +154,9 @@
entries.add(new TrackingEntry(COMMENT_PREFIX + "timer_end format is " + TIMER_END_FORMAT));
}
+ /**
+ * @see org.apache.sling.api.request.RequestProgressTracker#getMessages()
+ */
public Iterator<String> getMessages() {
return new Iterator<String>() {
private final Iterator<TrackingEntry> entryIter = entries.iterator();
@@ -181,14 +184,16 @@
* Dumps the process timer entries to the given writer, one entry per line.
* See the class comments for the rough format of each message line.
*/
- public void dump(PrintWriter writer) {
+ public void dump(final PrintWriter writer) {
logTimer(REQUEST_PROCESSING_TIMER,
"Dumping SlingRequestProgressTracker Entries");
- Iterator<String> messages = getMessages();
+ final StringBuilder sb = new StringBuilder();
+ final Iterator<String> messages = getMessages();
while (messages.hasNext()) {
- writer.print(messages.next());
+ sb.append(messages.next());
}
+ writer.print(sb.toString());
}
/** Creates an entry with the given message. */