Dear Wiki user, You have subscribed to a wiki page or wiki category on "Jakarta-jmeter Wiki" for change notification.
The following page has been changed by PeterAndersen: http://wiki.apache.org/jakarta-jmeter/JMeterMavenPlugin ------------------------------------------------------------------------------ '''Executing the Plugin''' * Run "mvn org.apache.jmeter:maven-jmeter-plugin:jmeter" to run the tests. + '''Change to the plugin - by Peter Andersen / not committed!''' + + (If this can be used - please commit this into the codebase) + + Using jmeter from maven-jmeter-plugin as suggested on: + + http://jlorenzen.blogspot.com/2008_03_01_archive.html + + The problem is that maven hang after the test has ended. + + Some debugging shows that the maven-jmeter-plugin call to jmeter course jmeter to leak threads, + I have done the following change to the maven-jmeter-plugin that fixes the problem, using checkForEndOfTest method below. + + Hope someone can use this to improve the plugin. + + Code changes to org.apache.jmeter.JMeterMojo.java: + + {{{ + private void executeTest(File test) throws MojoExecutionException { + /... cut out from mail + try { + // This mess is necessary because the only way to know when JMeter + // is done is to wait for all of the threads that it spawned to exit. + new JMeter().start(args.toArray(new String[]{})); + BufferedReader in = new BufferedReader(new FileReader(jmeterLog)); + while (!checkForEndOfTest(in)) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + break; + } + } + in.close(); + } catch (ExitException e) { + if (e.getCode() != 0) { + throw new MojoExecutionException("Test failed", e); + } + } finally { + System.setSecurityManager(oldManager); + Thread.setDefaultUncaughtExceptionHandler(oldHandler); + } + } catch (IOException e) { + throw new MojoExecutionException("Can't execute test", e); + } + } + + private boolean checkForEndOfTest(BufferedReader in) throws MojoExecutionException { + boolean testEnded = false; + try { + String line; + while ( (line = in.readLine()) != null) { + if (line.indexOf("Test has ended") != -1) { + testEnded = true; + break; + } + } + } catch (IOException e) { + throw new MojoExecutionException("Can't read log file", e); + } + return testEnded; + } + + + }}} + --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
