No probelm. I'll use Bugzilla next time. Michael
-----Original Message----- From: Sebastian Bazley [mailto:[EMAIL PROTECTED] Sent: 09 July 2004 01:20 To: JMeter Developers List; Freeman, Michael Subject: Re: [PATCH] Enhancement RMIPORT Thanks for the patch. I've taken the liberty of rearranging the patch slightly - instead of adding a new option to start the server, I've added a new property to define the RMI port to be used. This allows the port to be defined either on the command line - using -Jserver_port=2010 - or in the server's jmeter.properties file. Hope that's OK. I'll upload the patched sources shortly. BTW, normally it is better to create a Bugzilla issue and attach the patch file(s) to that. It is easy for e-mails containing patches to get overlooked, and/or for the attachment to be lost. S. ----- Original Message ----- From: "Freeman, Michael" <[EMAIL PROTECTED]> To: "JMeter Developers List" <[EMAIL PROTECTED]> Sent: Thursday, July 08, 2004 5:53 PM Subject: [PATCH] Enhancement RMIPORT Hey Never submitted a patch before so hope this is right. I used the latest jmeter from the CVS repository. I use this so Jmeter can use different port numbers for remote testing. I found it useful others may not. The user adds a :portnumber to the servers indicated in jmeter.properties e.g localhost:2010 In jmeter-server.bat or equivalent rmiregistry 2010 Then remove the -s option and use -y 2010. (I just picked -y because everything else seemed used) Is doesn't effect normal operation. You can still use -s etc Patch --- JMeter.java.orig 2004-07-08 11:29:04.000000000 +0100 +++ JMeter.java 2004-07-08 13:44:44.000000000 +0100 @@ -90,6 +90,8 @@ private static final int SYSTEM_PROPERTY = 'D'; private static final int LOGLEVEL = 'L'; private static final int REMOTE_OPT = 'r'; + private static final int RMI_PORT = 'y'; + public static final int DEFAULT_RMI_PORT = 1099; /** * Define the understood options. Each CLOptionDescriptor contains: @@ -140,6 +142,11 @@ SERVER_OPT, "run the JMeter server"), new CLOptionDescriptor( + "rmiport", + CLOptionDescriptor.ARGUMENT_REQUIRED, + RMI_PORT, + "bind to registry on specified port"), + new CLOptionDescriptor( "proxyHost", CLOptionDescriptor.ARGUMENT_REQUIRED, PROXY_HOST, @@ -266,6 +273,11 @@ JMeterUtils.getResourceFileAsText( "org/apache/jmeter/help.txt")); } + else if (parser.getArgumentById(RMI_PORT) != null) + { + startServer(Integer.parseInt(parser.getArgumentById(RMI_PORT).getArgument()) ); + startBSH(); + } else if (parser.getArgumentById(SERVER_OPT) != null) { startServer(); @@ -438,9 +450,13 @@ public void startServer() { + startServer(DEFAULT_RMI_PORT); + } + public void startServer(int port) + { try { - new RemoteJMeterEngineImpl(); + new RemoteJMeterEngineImpl(port); while (true) { Thread.sleep(Long.MAX_VALUE); --- RemoteJMeterEngineImpl.java.orig 2004-07-08 11:31:20.000000000 +0100 +++ RemoteJMeterEngineImpl.java 2004-07-08 13:53:10.000000000 +0100 @@ -1,4 +1,4 @@ -// $Header: /home/cvspublic/jakarta-jmeter/src/core/org/apache/jmeter/engine/RemoteJMete rEngineImpl.java,v 1.16 2004/02/12 23:59:01 sebb Exp $ +// $Header: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/RemoteJMeterEngin eImpl.java,v 1.16 2004/02/12 23:59:01 sebb Exp $ /* * Copyright 2001-2004 The Apache Software Foundation. * @@ -21,6 +21,8 @@ import java.net.InetAddress; import java.rmi.Naming; import java.rmi.RemoteException; +import java.rmi.registry.Registry; +import java.rmi.registry.LocateRegistry; import org.apache.jorphan.collections.HashTree; import org.apache.jorphan.logging.LoggingManager; @@ -34,19 +36,31 @@ extends java.rmi.server.UnicastRemoteObject implements RemoteJMeterEngine { + public static final int DEFAULT_RMI_PORT = 1099; transient private static Logger log = LoggingManager.getLoggerForClass(); JMeterEngine backingEngine; public RemoteJMeterEngineImpl() throws RemoteException { + init(DEFAULT_RMI_PORT); + } + public RemoteJMeterEngineImpl(int port) throws RemoteException + { + init(port); + } + + protected void init(int port) throws RemoteException + { log.info("Starting backing engine"); log.debug("This = "+ this); try { + Registry reg = LocateRegistry.getRegistry(port); backingEngine = new StandardJMeterEngine( InetAddress.getLocalHost().getHostName()); - Naming.rebind("JMeterEngine", this); + reg.rebind("JMeterEngine", this); + log.info("Bound to registry on port " + port); } catch(Exception ex){ log.error( ---------------------------------------------------------------------------- ---- > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
