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 01:51:01 UTC
svn commit: r901471 - in /jakarta/jmeter/trunk/src:
components/org/apache/jmeter/timers/ core/org/apache/jmeter/reporters/
protocol/http/org/apache/jmeter/protocol/http/parser/
protocol/jms/org/apache/jmeter/protocol/jms/sampler/
Author: sebb
Date: Thu Jan 21 00:51:00 2010
New Revision: 901471
URL: http://svn.apache.org/viewvc?rev=901471&view=rev
Log:
Use ConcurrentHashMap instead of Hashtable now we are using Java 1.5
Modified:
jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java?rev=901471&r1=901470&r2=901471&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java Thu Jan 21 00:51:00 2010
@@ -18,8 +18,8 @@
package org.apache.jmeter.timers;
-import java.util.Hashtable;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.jmeter.engine.event.LoopIterationEvent;
import org.apache.jmeter.testbeans.TestBean;
@@ -72,7 +72,7 @@
//For holding the ThrougputInfo objects for all ThreadGroups. Keyed by ThreadGroup objects
private final static Map<ThreadGroup, ThroughputInfo> threadGroupsInfoMap =
- new Hashtable<ThreadGroup, ThroughputInfo>();
+ new ConcurrentHashMap<ThreadGroup, ThroughputInfo>();
/**
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java?rev=901471&r1=901470&r2=901471&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java Thu Jan 21 00:51:00 2010
@@ -29,9 +29,9 @@
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
-import java.util.Enumeration;
-import java.util.Hashtable;
+import java.util.Map;
import java.util.Vector;
+import java.util.concurrent.ConcurrentHashMap;
import javax.swing.JFrame;
import javax.swing.JLabel;
@@ -50,7 +50,7 @@
public class FileReporter extends JPanel {
private static final Logger log = LoggingManager.getLoggerForClass();
- private final Hashtable<String, Vector<Integer>> data = new Hashtable<String, Vector<Integer>>();
+ private final Map<String, Vector<Integer>> data = new ConcurrentHashMap<String, Vector<Integer>>();
/** initalize a file reporter from a file */
public void init(String file) throws IOException {
@@ -131,19 +131,15 @@
*/
private static class GraphPanel extends JPanel {
// boolean autoScale = true;
- Hashtable<String, Vector<Integer>> data;
+ private final Map<String, Vector<Integer>> data;
- Vector<String> keys = new Vector<String>();
+ private final Vector<String> keys = new Vector<String>();
- Vector<Color> colorList = new Vector<Color>();
+ private final Vector<Color> colorList = new Vector<Color>();
- public GraphPanel(Hashtable<String, Vector<Integer>> data) {
+ public GraphPanel(Map<String, Vector<Integer>> data) {
this.data = data;
- Enumeration<String> e = data.keys();
-
- while (e.hasMoreElements()) {
- String key = e.nextElement();
-
+ for (String key : data.keySet()) {
keys.addElement(key);
}
for (int a = 0x33; a < 0xFF; a += 0x66) {
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java?rev=901471&r1=901470&r2=901471&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java Thu Jan 21 00:51:00 2010
@@ -24,6 +24,7 @@
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.jmeter.engine.event.LoopIterationEvent;
import org.apache.jmeter.engine.util.NoThreadClone;
@@ -89,8 +90,8 @@
/*
* This map allows summarisers with the same name to contribute to the same totals.
*/
- //@GuardedBy("accumulators")
- private static final Hashtable<String, Totals> accumulators = new Hashtable<String, Totals>();
+ //@GuardedBy("accumulators") - needed to ensure consistency between this and instanceCount
+ private static final Map<String, Totals> accumulators = new ConcurrentHashMap<String, Totals>();
//@GuardedBy("accumulators")
private static int instanceCount; // number of active tests
Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java?rev=901471&r1=901470&r2=901471&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java Thu Jan 21 00:51:00 2010
@@ -23,6 +23,8 @@
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashSet;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
@@ -55,7 +57,7 @@
protected static final String STYLESHEET = "stylesheet";// $NON-NLS-1$
// Cache of parsers - parsers must be re-usable
- private static final Hashtable<String, HTMLParser> parsers = new Hashtable<String, HTMLParser>(3);
+ private static final Map<String, HTMLParser> parsers = new ConcurrentHashMap<String, HTMLParser>(3);
public static final String PARSER_CLASSNAME = "htmlParser.className"; // $NON-NLS-1$
@@ -73,7 +75,7 @@
return getParser(JMeterUtils.getPropDefault(PARSER_CLASSNAME, DEFAULT_PARSER));
}
- public static final synchronized HTMLParser getParser(String htmlParserClassName) {
+ public static final HTMLParser getParser(String htmlParserClassName) {
// Is there a cached parser?
HTMLParser pars = parsers.get(htmlParserClassName);
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java?rev=901471&r1=901470&r2=901471&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java Thu Jan 21 00:51:00 2010
@@ -18,8 +18,8 @@
package org.apache.jmeter.protocol.jms.sampler;
-import java.util.Hashtable;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import javax.jms.Message;
@@ -33,14 +33,14 @@
public class MessageAdmin {
private static final MessageAdmin SINGLETON = new MessageAdmin();
- private final Map<String, PlaceHolder> table = new Hashtable<String, PlaceHolder>();
+ private final Map<String, PlaceHolder> table = new ConcurrentHashMap<String, PlaceHolder>();
private static final Logger log = LoggingManager.getLoggerForClass();
private MessageAdmin() {
}
- public static synchronized MessageAdmin getAdmin() {
+ public static MessageAdmin getAdmin() {
return SINGLETON;
}
@@ -89,7 +89,7 @@
}
class PlaceHolder {
- private Object request;
+ private final Object request;
private Object reply;
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org