Author: pmouawad Date: Sun Jan 6 14:47:32 2019 New Revision: 1850562 URL: http://svn.apache.org/viewvc?rev=1850562&view=rev Log: Bug 61486 - Make jmeter-server and non GUI mode run headless Bugzilla Id: 61486
Modified: jmeter/trunk/src/core/org/apache/jmeter/JMeter.java jmeter/trunk/src/core/org/apache/jmeter/NewDriver.java jmeter/trunk/xdocs/changes.xml Modified: jmeter/trunk/src/core/org/apache/jmeter/JMeter.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java?rev=1850562&r1=1850561&r2=1850562&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/JMeter.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/JMeter.java Sun Jan 6 14:47:32 2019 @@ -476,6 +476,7 @@ public class JMeter implements JMeterPlu log.info("os.arch={}", System.getProperty("os.arch"));//$NON-NLS-1$ //$NON-NLS-2$ log.info("os.version={}", System.getProperty("os.version"));//$NON-NLS-1$ //$NON-NLS-2$ log.info("file.encoding={}", System.getProperty("file.encoding"));//$NON-NLS-1$ //$NON-NLS-2$ + log.info("java.awt.headless={}", System.getProperty("java.awt.headless"));//$NON-NLS-1$ //$NON-NLS-2$ log.info("Max memory ={}", Runtime.getRuntime().maxMemory()); log.info("Available Processors ={}", Runtime.getRuntime().availableProcessors()); log.info("Default Locale={}", Locale.getDefault().getDisplayName()); Modified: jmeter/trunk/src/core/org/apache/jmeter/NewDriver.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/NewDriver.java?rev=1850562&r1=1850561&r2=1850562&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/NewDriver.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/NewDriver.java Sun Jan 6 14:47:32 2019 @@ -51,6 +51,8 @@ public final class NewDriver { private static final String JAVA_CLASS_PATH = "java.class.path";// $NON-NLS-1$ private static final String JMETER_LOGFILE_SYSTEM_PROPERTY = "jmeter.logfile";// $NON-NLS-1$ + + private static final String HEADLESS_MODE_PROPERTY = "java.awt.headless";// $NON-NLS-1$ /** The class loader to use for loading JMeter classes. */ private static final DynamicClassLoader loader; @@ -237,9 +239,14 @@ public final class NewDriver { } else { Thread.currentThread().setContextClassLoader(loader); + setLoggingProperties(args); try { + // Only set property if it has not been set explicitely + if(System.getProperty(HEADLESS_MODE_PROPERTY) == null && shouldBeHeadless(args)) { + System.setProperty(HEADLESS_MODE_PROPERTY, "true"); + } Class<?> initialClass = loader.loadClass("org.apache.jmeter.JMeter");// $NON-NLS-1$ Object instance = initialClass.getDeclaredConstructor().newInstance(); Method startup = initialClass.getMethod("start", new Class[] { new String[0].getClass() });// $NON-NLS-1$ @@ -297,10 +304,18 @@ public final class NewDriver { } } + private static boolean shouldBeHeadless(String[] args) { + for (String arg : args) { + if("-n".equals(arg) || "-s".equals(arg)) { + return true; + } + } + return false; + } /* * Find command line argument option value by the id and name. */ - private static String getCommandLineArgument(String [] args, int id, String name) { + private static String getCommandLineArgument(String[] args, int id, String name) { final String shortArgName = "-" + ((char) id);// $NON-NLS-1$ final String longArgName = "--" + name;// $NON-NLS-1$ Modified: jmeter/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1850562&r1=1850561&r2=1850562&view=diff ============================================================================== --- jmeter/trunk/xdocs/changes.xml [utf-8] (original) +++ jmeter/trunk/xdocs/changes.xml [utf-8] Sun Jan 6 14:47:32 2019 @@ -131,6 +131,7 @@ of previous time slot as a base. Startin <li><bug>62870</bug>Templates : Add ability to provide parameters. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li> <li><bug>62829</bug>Allow specifying Proxy server scheme for HTTP request sampler, Advanced tab and command line option. Contributed by Hitesh Patel (hitesh.h.patel at gmail.com)</li> <li><bug>59633</bug>Menus <code>Save Test Plan as</code>, <code>Save as Test Fragment</code> and <code>Save Selection as ...</code> should use a new file name in File Dialog</li> + <li><bug>61486</bug>Make jmeter-server and non GUI mode run headless</li> </ul> <ch_section>Non-functional changes</ch_section>