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