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: [email protected]
For additional commands, e-mail: [email protected]