Le 25/08/2012 14:17, [email protected] a ecrit :
Author: pmouawad
Date: Sat Aug 25 13:17:19 2012
New Revision: 1377291

URL: http://svn.apache.org/viewvc?rev=1377291&view=rev
Log:
Bug 53782 - Enhance JavaSampler handling of JavaSamplerClient cleanup to use 
less memory
Only register instance of JavaSamplerClient that have overriden or implemented 
teardownTest
Bugzilla Id: 53782

Modified:
     
jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java

Seems introduce regression in junit tests.


  [client] ... end of run
     [echo] BatchTestLocal output files compared OK
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@4430d82d java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@30384065 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@4cf7c31d java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@1e2acc65 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@2c79809 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@3794d372 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@bc5fde0 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@56c163f java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@2bb5340c java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@212bcd4b java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@60de1b8a java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@15e232b5 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@7dc05ffd java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@7f92c8d9 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@72e6f7d2 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@303bc257 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@2ec791b9 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@538f1d7e java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@2353f67e java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@40589e56 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@5fe0f2f6 java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)
[concat] 2012/08/26 16:15:48 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.protocol.java.sampler.JavaSampler@5d3ad33d java.lang.NullPointerException [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:303) [concat] at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:308) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:220) [concat] at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:423)
   [concat]     at java.lang.Thread.run(Thread.java:595)

BUILD FAILED





     jmeter/trunk/xdocs/changes.xml
     jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: 
jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java?rev=1377291&r1=1377290&r2=1377291&view=diff
==============================================================================
--- 
jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java
 (original)
+++ 
jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java
 Sat Aug 25 13:17:19 2012
@@ -18,10 +18,14 @@

  package org.apache.jmeter.protocol.java.sampler;

+import java.lang.reflect.Method;
  import java.util.Arrays;
  import java.util.HashSet;
+import java.util.Map;
  import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;

+import org.apache.commons.lang3.exception.ExceptionUtils;
  import org.apache.jmeter.config.Arguments;
  import org.apache.jmeter.config.ConfigTestElement;
  import org.apache.jmeter.samplers.AbstractSampler;
@@ -74,6 +78,13 @@ public class JavaSampler extends Abstrac
      private transient JavaSamplerContext context = null;

      /**
+     * Cache of classname, boolean that holds information about a class and 
wether or not it should
+     * be registered for cleanup.
+     * This is done to avoid using reflection on each registration
+     */
+    private transient Map<String, Boolean>  isToBeRegisteredCache = new 
ConcurrentHashMap<String, Boolean>();
+
+    /**
       * Set used to register all JavaSamplerClient and JavaSamplerContext.
       * This is used so that the JavaSamplerClient can be notified when the 
test ends.
       */
@@ -137,27 +148,72 @@ public class JavaSampler extends Abstrac
       * @param entry
       *            the Entry for this sample
       * @return test SampleResult
+     * @throws NoSuchMethodException
+     * @throws SecurityException
       */
-    public SampleResult sample(Entry entry) {
-        Arguments args = getArguments();
-        args.addArgument(TestElement.NAME, getName()); // Allow Sampler access
-                                                        // to test element name
-        context = new JavaSamplerContext(args);
-        if (javaClient == null) {
-            log.debug(whoAmI() + "\tCreating Java Client");
-            createJavaClient();
-            javaClientAndContextSet.add(new Object[]{javaClient, context});
-            javaClient.setupTest(context);
+    public SampleResult sample(Entry entry) {
+        try {
+            Arguments args = getArguments();
+            args.addArgument(TestElement.NAME, getName()); // Allow Sampler 
access
+                                                            // to test element 
name
+            context = new JavaSamplerContext(args);
+            if (javaClient == null) {
+                log.debug(whoAmI() + "\tCreating Java Client");
+                createJavaClient();
+                registerForCleanup(javaClient, context);
+                javaClient.setupTest(context);
+            }
+
+            SampleResult result = javaClient.runTest(context);
+
+            // Only set the default label if it has not been set
+            if (result != null&&  result.getSampleLabel().length() == 0) {
+                result.setSampleLabel(getName());
+            }
+
+            return result;
+        } catch(Exception ex) {
+            SampleResult sampleResultIfError = new SampleResult();
+            sampleResultIfError.setSampleLabel(getName());
+            sampleResultIfError.setSuccessful(false);
+            sampleResultIfError.setResponseCode("500"); // $NON-NLS-1$
+            
sampleResultIfError.setResponseMessage(ExceptionUtils.getRootCauseMessage(ex));
+            sampleResultIfError.setResponseData(ExceptionUtils.getStackTrace(ex), 
"UTF-8");
+            return sampleResultIfError;
          }
+    }

-        SampleResult result = javaClient.runTest(context);
-
-        // Only set the default label if it has not been set
-        if (result != null&&  result.getSampleLabel().length() == 0) {
-            result.setSampleLabel(getName());
+    /**
+     * Only register jsClient if it contains a custom teardownTest method
+     * @param jsClient JavaSamplerClient
+     * @param jsContext JavaSamplerContext
+     * @throws NoSuchMethodException
+     * @throws SecurityException
+     */
+    private final void registerForCleanup(JavaSamplerClient jsClient,
+            JavaSamplerContext jsContext) throws SecurityException, 
NoSuchMethodException {
+        if(isToBeRegistered(jsClient.getClass())) {
+            javaClientAndContextSet.add(new Object[]{jsClient, jsContext});
          }
+    }

-        return result;
+    /**
+     * Tests clazz to see if a custom teardown method has been written and 
caches the test result.
+     * If classes uses {@link 
AbstractJavaSamplerClient#teardownTest(JavaSamplerContext)} then it won't
+     * be registered for cleanup as it does nothing.
+     * @param clazz Class to be verified
+     * @return true if clazz should be registered for cleanup
+     * @throws SecurityException
+     * @throws NoSuchMethodException
+     */
+    private boolean isToBeRegistered(Class<? extends JavaSamplerClient>  
clazz) throws SecurityException, NoSuchMethodException {
+        Boolean isToBeRegistered = isToBeRegisteredCache.get(clazz.getName());
+        if(isToBeRegistered == null) {
+            Method method = clazz.getMethod("teardownTest", new 
Class[]{JavaSamplerContext.class});
+            isToBeRegistered = 
Boolean.valueOf(!method.getDeclaringClass().equals(AbstractJavaSamplerClient.class));
+            isToBeRegisteredCache.put(clazz.getName(), isToBeRegistered);
+        }
+        return isToBeRegistered.booleanValue();
      }

      /**
@@ -244,6 +300,7 @@ public class JavaSampler extends Abstrac
              }
              javaClientAndContextSet.clear();
          }
+        isToBeRegisteredCache.clear();
      }

      /* Implements TestStateListener.testEnded(String) */

Modified: jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1377291&r1=1377290&r2=1377291&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Sat Aug 25 13:17:19 2012
@@ -135,6 +135,7 @@ Shortcut for Function Helper Dialog is n
  <ul>
  <li><bugzilla>55310</bugzilla>  - TestAction should implement 
Interruptible</li>
  <li><bugzilla>53318</bugzilla>  - Add Embedded URL Filter to HTTP Request Defaults 
Control</li>
+<li><bugzilla>53782</bugzilla>  - Enhance JavaSampler handling of JavaSamplerClient 
cleanup to use less memory</li>
  </ul>

  <h3>Controllers</h3>

Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1377291&r1=1377290&r2=1377291&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sat Aug 25 13:17:19 
2012
@@ -566,6 +566,9 @@ The fields allow variables to be used, s
  </p>
  </description>

+<note>Since JMeter 2.8, if method teardownTest is not overriden by subclasses 
of AbstractJavaSamplerClient, then the method will not be called to optimise JMeter 
memory behaviour.
+This will not have any impact on existing Test plans.
+</note>
  <note>The Add/Delete buttons don't serve any purpose at present.</note>

  <properties>




Reply via email to