You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2013/07/20 00:32:41 UTC
svn commit: r1505057 -
/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java
Author: hiranya
Date: Fri Jul 19 22:32:40 2013
New Revision: 1505057
URL: http://svn.apache.org/r1505057
Log:
Fixing SYNAPSE-853 - Concurrency issue in endpoint stat collection. Used a ConcurrentLinkedQueue instead of the ArrayList to collect stat logs in a thread safe manner.
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java?rev=1505057&r1=1505056&r2=1505057&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java Fri Jul 19 22:32:40 2013
@@ -23,6 +23,8 @@ import org.apache.synapse.aspects.Compon
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
/**
* Holds a record for statistics for current message
@@ -31,7 +33,7 @@ import java.util.List;
public class StatisticsRecord {
private String id;
- private final List<StatisticsLog> statisticsLogs = new ArrayList<StatisticsLog>();
+ private final Queue<StatisticsLog> statisticsLogs = new ConcurrentLinkedQueue<StatisticsLog>();
private String clientIP;
private String clientHost;
private ComponentType owner;
@@ -118,7 +120,7 @@ public class StatisticsRecord {
}
public String toString() {
- return new StringBuffer()
+ return new StringBuilder()
.append("[Message id : ").append(id).append(" ]")
.append("[Remote IP : ").append(clientIP).append(" ]")
.append("[Remote host : ").append(clientHost).append(" ]")