You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2010/01/21 02:34:26 UTC
svn commit: r901495 - in /jakarta/jmeter/trunk/src:
components/org/apache/jmeter/visualizers/ core/org/apache/jmeter/engine/
protocol/http/org/apache/jmeter/protocol/http/util/
protocol/http/org/apache/jmeter/protocol/http/util/accesslog/
Author: sebb
Date: Thu Jan 21 01:34:25 2010
New Revision: 901495
URL: http://svn.apache.org/viewvc?rev=901495&view=rev
Log:
Use ConcurrentHashMap instead of HashMap for multi-threaded access
Modified:
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/DOMPool.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java?rev=901495&r1=901494&r2=901495&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java Thu Jan 21 01:34:25 2010
@@ -25,10 +25,9 @@
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
+import java.util.concurrent.ConcurrentHashMap;
import javax.swing.BoxLayout;
import javax.swing.JButton;
@@ -104,7 +103,7 @@
private transient ObjectTableModel model;
private final Map<String, SamplingStatCalculator> tableRows =
- Collections.synchronizedMap(new HashMap<String, SamplingStatCalculator>());
+ new ConcurrentHashMap<String, SamplingStatCalculator>();
private AxisGraph graphPanel = null;
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java?rev=901495&r1=901494&r2=901495&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java Thu Jan 21 01:34:25 2010
@@ -25,12 +25,8 @@
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
-//import java.awt.event.MouseAdapter;
-//import java.awt.event.MouseEvent;
-//import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import javax.swing.BoxLayout;
import javax.swing.JButton;
@@ -108,7 +104,7 @@
private transient ObjectTableModel model;
private final Map<String, SamplingStatCalculator> tableRows =
- Collections.synchronizedMap(new HashMap<String, SamplingStatCalculator>());
+ new ConcurrentHashMap<String, SamplingStatCalculator>();
public StatVisualizer() {
super();
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java?rev=901495&r1=901494&r2=901495&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java Thu Jan 21 01:34:25 2010
@@ -25,9 +25,8 @@
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import javax.swing.BoxLayout;
import javax.swing.JButton;
@@ -102,7 +101,7 @@
private transient ObjectTableModel model;
private final Map<String, Calculator> tableRows =
- Collections.synchronizedMap(new HashMap<String, Calculator>());
+ new ConcurrentHashMap<String, Calculator>();
// Column renderers
private static final TableCellRenderer[] RENDERERS =
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java?rev=901495&r1=901494&r2=901495&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java Thu Jan 21 01:34:25 2010
@@ -24,15 +24,14 @@
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Date;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.jmeter.JMeter;
import org.apache.jmeter.testbeans.TestBean;
@@ -170,7 +169,7 @@
public StandardJMeterEngine(String host) {
this.host = host;
- this.allThreads = Collections.synchronizedMap(new HashMap<JMeterThread, Thread>());
+ this.allThreads = new ConcurrentHashMap<JMeterThread, Thread>();
// Hack to allow external control
engine = this;
}
Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/DOMPool.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/DOMPool.java?rev=901495&r1=901494&r2=901495&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/DOMPool.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/DOMPool.java Thu Jan 21 01:34:25 2010
@@ -18,7 +18,9 @@
package org.apache.jmeter.protocol.http.util;
-import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
import org.w3c.dom.Document;
/**
@@ -43,7 +45,7 @@
* test on an old system will likely run into memory or CPU problems long
* before the HashMap is an issue.
*/
- private static final HashMap<Object, Document> MEMCACHE = new HashMap<Object, Document>(50);
+ private static final Map<Object, Document> MEMCACHE = new ConcurrentHashMap<Object, Document>(50);
/**
* Return a document.
@@ -51,7 +53,7 @@
* @param key
* @return Document
*/
- public static synchronized Document getDocument(Object key) {
+ public static Document getDocument(Object key) {
return MEMCACHE.get(key);
}
@@ -61,7 +63,7 @@
* @param key
* @param data
*/
- public static synchronized void putDocument(Object key, Document data) {
+ public static void putDocument(Object key, Document data) {
MEMCACHE.put(key, data);
}
Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java?rev=901495&r1=901494&r2=901495&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java Thu Jan 21 01:34:25 2010
@@ -23,10 +23,10 @@
import java.io.Serializable;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
@@ -87,7 +87,7 @@
public Object clone() {
if(cookieManagers == null)
{
- cookieManagers = Collections.synchronizedMap(new HashMap<String, CookieManager>());
+ cookieManagers = new ConcurrentHashMap<String, CookieManager>();
}
if(managersInUse == null)
{
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org