You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2011/09/14 15:35:17 UTC

svn commit: r1170612 - in /qpid/trunk/qpid/java: broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/ broker/etc/ broker/src/main/java/org/apache/qpid/server/ broker/src/main/java/org/apache/qpid/server/configuration/ broker/src/main/ja...

Author: kwall
Date: Wed Sep 14 13:35:17 2011
New Revision: 1170612

URL: http://svn.apache.org/viewvc?rev=1170612&view=rev
Log:
QPID-3486: Make connector server port used for JMX configurable.

Commited work from Andrew MacBean <an...@gmail.com> any myself.

Modified:
    qpid/trunk/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/AppInfo.java
    qpid/trunk/qpid/java/broker/etc/config.xml
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Broker.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
    qpid/trunk/qpid/java/systests/etc/config-systests-firewall-2.xml
    qpid/trunk/qpid/java/systests/etc/config-systests-firewall-3.xml
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java

Modified: qpid/trunk/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/AppInfo.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/AppInfo.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/AppInfo.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/AppInfo.java Wed Sep 14 13:35:17 2011
@@ -70,7 +70,7 @@ public class AppInfo
             sc = ApplicationRegistry.getInstance().getConfiguration();
             if (null != sc)
             {
-                appInfoMap.put("jmxport", sc.getJMXManagementPort() + "");
+                appInfoMap.put("jmxport", sc.getJMXPortRegistryServer() + "");
                 appInfoMap.put("port", sc.getPorts().toString());
                 appInfoMap.put("version", QpidProperties.getReleaseVersion());
                 appInfoMap.put("vhosts", "standalone");

Modified: qpid/trunk/qpid/java/broker/etc/config.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/etc/config.xml?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/etc/config.xml (original)
+++ qpid/trunk/qpid/java/broker/etc/config.xml Wed Sep 14 13:35:17 2011
@@ -30,7 +30,7 @@
     <connector>
         <!-- To enable SSL edit the keystorePath and keystorePassword
 	     and set enabled to true. 
-             To disasble Non-SSL port set sslOnly to true -->
+             To disable Non-SSL port set sslOnly to true -->
         <ssl>
             <enabled>false</enabled>
             <port>5671</port>
@@ -44,7 +44,13 @@
     </connector>
     <management>
         <enabled>true</enabled>
-        <jmxport>8999</jmxport>
+        <jmxport>
+            <registryServer>8999</registryServer>
+            <!--
+             If unspecified, connectorServer defaults to 100 + registryServer port.
+            <connectorServer>9099</connectionServer>
+            -->
+        </jmxport>
         <ssl>
             <enabled>false</enabled>
             <!-- Update below path to your keystore location, or run the bin/create-example-ssl-stores(.sh|.bat)

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Broker.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Broker.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Broker.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Broker.java Wed Sep 14 13:35:17 2011
@@ -110,7 +110,7 @@ public class Broker
 
         ConfigurationFileApplicationRegistry config = new ConfigurationFileApplicationRegistry(configFile, options.getBundleContext());
         ServerConfiguration serverConfig = config.getConfiguration();
-        updateManagementPort(serverConfig, options.getJmxPort());
+        updateManagementPorts(serverConfig, options.getJmxPortRegistryServer(), options.getJmxPortConnectorServer());
 
         ApplicationRegistry.initialise(config);
 
@@ -318,19 +318,30 @@ public class Broker
     /**
      * Update the configuration data with the management port.
      * @param configuration
-     * @param managementPort The string from the command line
+     * @param registryServerPort The string from the command line
      */
-    private void updateManagementPort(ServerConfiguration configuration, Integer managementPort)
+    private void updateManagementPorts(ServerConfiguration configuration, Integer registryServerPort, Integer connectorServerPort)
     {
-        if (managementPort != null)
+        if (registryServerPort != null)
         {
             try
             {
-                configuration.setJMXManagementPort(managementPort);
+                configuration.setJMXPortRegistryServer(registryServerPort);
             }
             catch (NumberFormatException e)
             {
-                throw new InitException("Invalid management port: " + managementPort, null);
+                throw new InitException("Invalid management (registry server) port: " + registryServerPort, null);
+            }
+        }
+        if (connectorServerPort != null)
+        {
+            try
+            {
+                configuration.setJMXPortConnectorServer(connectorServerPort);
+            }
+            catch (NumberFormatException e)
+            {
+                throw new InitException("Invalid management (connector server) port: " + connectorServerPort, null);
             }
         }
     }

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java Wed Sep 14 13:35:17 2011
@@ -37,14 +37,6 @@ public class BrokerOptions
     public static final String DEFAULT_LOG_CONFIG_FILE = "etc/log4j.xml";
     public static final String QPID_HOME = "QPID_HOME";
 
-    public static final String PORTS = "p";
-    public static final String SSL_PORTS = "s";
-    public static final String BIND = "b";
-    public static final String MANAGEMENT = "m";
-    public static final String LOG_CONFIG = "l";
-    public static final String WATCH = "w";
-    public static final String CONFIG = "c";
-
     private final Set<Integer> _ports = new HashSet<Integer>();
     private final Set<Integer> _sslPorts = new HashSet<Integer>();
     private final Map<ProtocolExclusion,Set<Integer>> _exclusionMap = new HashMap<ProtocolExclusion, Set<Integer>>();
@@ -52,7 +44,8 @@ public class BrokerOptions
     private String _configFile;
     private String _logConfigFile;
     private String _bind;
-    private Integer _jmxPort;
+    private Integer _jmxPortRegistryServer;
+    private Integer _jmxPortConnectorServer;
     private BundleContext _bundleContext;
 
     private Integer _logWatchFrequency = 0;
@@ -98,14 +91,24 @@ public class BrokerOptions
         _logConfigFile = logConfigFile;
     }
 
-    public Integer getJmxPort()
+    public Integer getJmxPortRegistryServer()
+    {
+        return _jmxPortRegistryServer;
+    }
+
+    public void setJmxPortRegistryServer(final int jmxPortRegistryServer)
     {
-        return _jmxPort;
+        _jmxPortRegistryServer = jmxPortRegistryServer;
     }
 
-    public void setJmxPort(final int jmxPort)
+    public Integer getJmxPortConnectorServer()
     {
-        _jmxPort = jmxPort;
+        return _jmxPortConnectorServer;
+    }
+
+    public void setJmxPortConnectorServer(final int jmxPortConnectorServer)
+    {
+        _jmxPortConnectorServer = jmxPortConnectorServer;
     }
 
     public String getQpidHome()
@@ -163,4 +166,5 @@ public class BrokerOptions
     {
         _bundleContext = bundleContext;
     }
+
 }
\ No newline at end of file

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java Wed Sep 14 13:35:17 2011
@@ -27,7 +27,6 @@ import org.apache.commons.cli.OptionBuil
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 import org.apache.commons.cli.PosixParser;
-import org.apache.log4j.Logger;
 import org.apache.qpid.server.Broker.InitException;
 import org.apache.qpid.server.registry.ApplicationRegistry;
 
@@ -38,7 +37,92 @@ import org.apache.qpid.server.registry.A
  */
 public class Main
 {
-    private final Options options = new Options();
+
+    private static final Option OPTION_HELP = new Option("h", "help", false, "print this message");
+
+    private static final Option OPTION_VERSION = new Option("v", "version", false, "print the version information and exit");
+
+    private static final Option OPTION_CONFIG_FILE =
+            OptionBuilder.withArgName("file").hasArg().withDescription("use given configuration file").withLongOpt("config")
+                    .create("c");
+
+    private static final Option OPTION_PORT =
+            OptionBuilder.withArgName("port").hasArg()
+                    .withDescription("listen on the specified port. Overrides any value in the config file")
+                    .withLongOpt("port").create("p");
+
+    private static final Option OPTION_SSLPORT =
+            OptionBuilder.withArgName("port").hasArg()
+                    .withDescription("SSL port. Overrides any value in the config file")
+                    .withLongOpt("sslport").create("s");
+
+    private static final Option OPTION_EXCLUDE_0_10 =
+            OptionBuilder.withArgName("port").hasArg()
+                    .withDescription("when listening on the specified port do not accept AMQP0-10 connections. The specified port must be one specified on the command line")
+                    .withLongOpt("exclude-0-10").create();
+
+    private static final Option OPTION_EXCLUDE_0_9_1 =
+            OptionBuilder.withArgName("port").hasArg()
+                    .withDescription("when listening on the specified port do not accept AMQP0-9-1 connections. The specified port must be one specified on the command line")
+                    .withLongOpt("exclude-0-9-1").create();
+
+    private static final Option OPTION_EXCLUDE_0_9 =
+            OptionBuilder.withArgName("port").hasArg()
+                    .withDescription("when listening on the specified port do not accept AMQP0-9 connections. The specified port must be one specified on the command line")
+                    .withLongOpt("exclude-0-9").create();
+
+    private static final Option OPTION_EXCLUDE_0_8 =
+            OptionBuilder.withArgName("port").hasArg()
+                    .withDescription("when listening on the specified port do not accept AMQP0-8 connections. The specified port must be one specified on the command line")
+                    .withLongOpt("exclude-0-8").create();
+
+    private static final Option OPTION_JMX_PORT_REGISTRY_SERVER =
+            OptionBuilder.withArgName("port").hasArg()
+                    .withDescription("listen on the specified management (registry server) port. Overrides any value in the config file")
+                    .withLongOpt("jmxregistryport").create("m");
+
+    private static final Option OPTION_JMX_PORT_CONNECTOR_SERVER =
+            OptionBuilder.withArgName("port").hasArg()
+                    .withDescription("listen on the specified management (connector server) port. Overrides any value in the config file")
+                    .withLongOpt("jmxconnectorport").create();
+
+    private static final Option OPTION_BIND =
+            OptionBuilder.withArgName("address").hasArg()
+                    .withDescription("bind to the specified address. Overrides any value in the config file")
+                    .withLongOpt("bind").create("b");
+
+    private static final Option OPTION_LOG_CONFIG_FILE =
+            OptionBuilder.withArgName("file").hasArg()
+                    .withDescription("use the specified log4j xml configuration file. By "
+                                     + "default looks for a file named " + BrokerOptions.DEFAULT_LOG_CONFIG_FILE
+                                     + " in the same directory as the configuration file").withLongOpt("logconfig").create("l");
+
+    private static final Option OPTION_LOG_WATCH =
+            OptionBuilder.withArgName("period").hasArg()
+                    .withDescription("monitor the log file configuration file for changes. Units are seconds. "
+                                     + "Zero means do not check for changes.").withLongOpt("logwatch").create("w");
+
+    private static final Options OPTIONS = new Options();
+
+    static
+    {
+        OPTIONS.addOption(OPTION_HELP);
+        OPTIONS.addOption(OPTION_VERSION);
+        OPTIONS.addOption(OPTION_CONFIG_FILE);
+        OPTIONS.addOption(OPTION_LOG_CONFIG_FILE);
+        OPTIONS.addOption(OPTION_LOG_WATCH);
+        OPTIONS.addOption(OPTION_PORT);
+        OPTIONS.addOption(OPTION_SSLPORT);
+        OPTIONS.addOption(OPTION_EXCLUDE_0_10);
+        OPTIONS.addOption(OPTION_EXCLUDE_0_9_1);
+        OPTIONS.addOption(OPTION_EXCLUDE_0_9);
+        OPTIONS.addOption(OPTION_EXCLUDE_0_8);
+        OPTIONS.addOption(OPTION_BIND);
+
+        OPTIONS.addOption(OPTION_JMX_PORT_REGISTRY_SERVER);
+        OPTIONS.addOption(OPTION_JMX_PORT_CONNECTOR_SERVER);
+    }
+
     private CommandLine commandLine;
 
     public static void main(String[] args)
@@ -56,7 +140,6 @@ public class Main
 
     public Main(final String[] args)
     {
-        setOptions(options);
         if (parseCommandline(args))
         {
             try
@@ -76,7 +159,7 @@ public class Main
     {
         try
         {
-            commandLine = new PosixParser().parse(options, args);
+            commandLine = new PosixParser().parse(OPTIONS, args);
 
             return true;
         }
@@ -84,121 +167,52 @@ public class Main
         {
             System.err.println("Error: " + e.getMessage());
             HelpFormatter formatter = new HelpFormatter();
-            formatter.printHelp("Qpid", options, true);
+            formatter.printHelp("Qpid", OPTIONS, true);
 
             return false;
         }
     }
 
-    protected void setOptions(final Options options)
-    {
-        Option help = new Option("h", "help", false, "print this message");
-        Option version = new Option("v", "version", false, "print the version information and exit");
-        Option configFile =
-                OptionBuilder.withArgName("file").hasArg().withDescription("use given configuration file").withLongOpt("config")
-                        .create("c");
-        Option port =
-                OptionBuilder.withArgName("port").hasArg()
-                        .withDescription("listen on the specified port. Overrides any value in the config file")
-                        .withLongOpt("port").create("p");
-
-        Option exclude0_10 =
-                OptionBuilder.withArgName("exclude-0-10").hasArg()
-                        .withDescription("when listening on the specified port do not accept AMQP0-10 connections. The specified port must be one specified on the command line")
-                        .withLongOpt("exclude-0-10").create();
-
-        Option exclude0_9_1 =
-                OptionBuilder.withArgName("exclude-0-9-1").hasArg()
-                        .withDescription("when listening on the specified port do not accept AMQP0-9-1 connections. The specified port must be one specified on the command line")
-                        .withLongOpt("exclude-0-9-1").create();
-
-
-        Option exclude0_9 =
-                OptionBuilder.withArgName("exclude-0-9").hasArg()
-                        .withDescription("when listening on the specified port do not accept AMQP0-9 connections. The specified port must be one specified on the command line")
-                        .withLongOpt("exclude-0-9").create();
-
-
-        Option exclude0_8 =
-                OptionBuilder.withArgName("exclude-0-8").hasArg()
-                        .withDescription("when listening on the specified port do not accept AMQP0-8 connections. The specified port must be one specified on the command line")
-                        .withLongOpt("exclude-0-8").create();
-
-
-        Option mport =
-                OptionBuilder.withArgName("mport").hasArg()
-                        .withDescription("listen on the specified management port. Overrides any value in the config file")
-                        .withLongOpt("mport").create("m");
-
-
-        Option bind =
-                OptionBuilder.withArgName("bind").hasArg()
-                        .withDescription("bind to the specified address. Overrides any value in the config file")
-                        .withLongOpt("bind").create(BrokerOptions.BIND);
-        Option logconfig =
-                OptionBuilder.withArgName("logconfig").hasArg()
-                        .withDescription("use the specified log4j xml configuration file. By "
-                                         + "default looks for a file named " + BrokerOptions.DEFAULT_LOG_CONFIG_FILE
-                                         + " in the same directory as the configuration file").withLongOpt("logconfig").create(BrokerOptions.LOG_CONFIG);
-        Option logwatchconfig =
-                OptionBuilder.withArgName("logwatch").hasArg()
-                        .withDescription("monitor the log file configuration file for changes. Units are seconds. "
-                                         + "Zero means do not check for changes.").withLongOpt("logwatch").create(BrokerOptions.WATCH);
-
-        Option sslport =
-                OptionBuilder.withArgName("sslport").hasArg()
-                        .withDescription("SSL port. Overrides any value in the config file")
-                        .withLongOpt("sslport").create(BrokerOptions.SSL_PORTS);
-
-        options.addOption(help);
-        options.addOption(version);
-        options.addOption(configFile);
-        options.addOption(logconfig);
-        options.addOption(logwatchconfig);
-        options.addOption(port);
-        options.addOption(exclude0_10);
-        options.addOption(exclude0_9_1);
-        options.addOption(exclude0_9);
-        options.addOption(exclude0_8);
-        options.addOption(mport);
-        options.addOption(bind);
-        options.addOption(sslport);
-    }
-
     protected void execute() throws Exception
     {
         BrokerOptions options = new BrokerOptions();
-        String configFile = commandLine.getOptionValue(BrokerOptions.CONFIG);
+        String configFile = commandLine.getOptionValue(OPTION_CONFIG_FILE.getOpt());
         if(configFile != null)
         {
             options.setConfigFile(configFile);
         }
 
-        String logWatchConfig = commandLine.getOptionValue(BrokerOptions.WATCH);
+        String logWatchConfig = commandLine.getOptionValue(OPTION_LOG_WATCH.getOpt());
         if(logWatchConfig != null)
         {
             options.setLogWatchFrequency(Integer.parseInt(logWatchConfig));
         }
 
-        String logConfig = commandLine.getOptionValue(BrokerOptions.LOG_CONFIG);
+        String logConfig = commandLine.getOptionValue(OPTION_LOG_CONFIG_FILE.getOpt());
         if(logConfig != null)
         {
             options.setLogConfigFile(logConfig);
         }
 
-        String jmxPort = commandLine.getOptionValue(BrokerOptions.MANAGEMENT);
-        if(jmxPort != null)
+        String jmxPortRegistryServer = commandLine.getOptionValue(OPTION_JMX_PORT_REGISTRY_SERVER.getOpt());
+        if(jmxPortRegistryServer != null)
+        {
+            options.setJmxPortRegistryServer(Integer.parseInt(jmxPortRegistryServer));
+        }
+
+        String jmxPortConnectorServer = commandLine.getOptionValue(OPTION_JMX_PORT_CONNECTOR_SERVER.getLongOpt());
+        if(jmxPortConnectorServer != null)
         {
-            options.setJmxPort(Integer.parseInt(jmxPort));
+            options.setJmxPortConnectorServer(Integer.parseInt(jmxPortConnectorServer));
         }
 
-        String bindAddr = commandLine.getOptionValue(BrokerOptions.BIND);
+        String bindAddr = commandLine.getOptionValue(OPTION_BIND.getOpt());
         if (bindAddr != null)
         {
             options.setBind(bindAddr);
         }
 
-        String[] portStr = commandLine.getOptionValues(BrokerOptions.PORTS);
+        String[] portStr = commandLine.getOptionValues(OPTION_PORT.getOpt());
         if(portStr != null)
         {
             parsePortArray(options, portStr, false);
@@ -208,7 +222,7 @@ public class Main
             }
         }
 
-        String[] sslPortStr = commandLine.getOptionValues(BrokerOptions.SSL_PORTS);
+        String[] sslPortStr = commandLine.getOptionValues(OPTION_SSLPORT.getOpt());
         if(sslPortStr != null)
         {
             parsePortArray(options, sslPortStr, true);

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java Wed Sep 14 13:35:17 2011
@@ -58,7 +58,8 @@ public class ServerConfiguration extends
     public static final int DEFAULT_PORT = 5672;
     public static final int DEFAULT_SSL_PORT = 5671;
     public static final long DEFAULT_HOUSEKEEPING_PERIOD = 30000L;
-    public static final int DEFAULT_JMXPORT = 8999;
+    public static final int DEFAULT_JMXPORT_REGISTRYSERVER = 8999;
+    public static final int JMXPORT_CONNECTORSERVER_OFFSET = 100;
 
     public static final String QPID_HOME = "QPID_HOME";
     public static final String QPID_WORK = "QPID_WORK";
@@ -77,6 +78,8 @@ public class ServerConfiguration extends
     // Configuration values to be read from the configuration file
     //todo Move all properties to static values to ensure system testing can be performed.
     public static final String MGMT_CUSTOM_REGISTRY_SOCKET = "management.custom-registry-socket";
+    public static final String MGMT_JMXPORT_REGISTRYSERVER = "management.jmxport.registryServer";
+    public static final String MGMT_JMXPORT_CONNECTORSERVER = "management.jmxport.connectorServer";
     public static final String STATUS_UPDATES = "status-updates";
     public static final String ADVANCED_LOCALE = "advanced.locale";
 
@@ -85,7 +88,8 @@ public class ServerConfiguration extends
         envVarMap.put("QPID_ENABLEDIRECTBUFFERS", "advanced.enableDirectBuffers");
         envVarMap.put("QPID_SSLPORT", "connector.ssl.port");
         envVarMap.put("QPID_WRITEBIASED", "advanced.useWriteBiasedPool");
-        envVarMap.put("QPID_JMXPORT", "management.jmxport");
+        envVarMap.put("QPID_JMXPORT_REGISTRYSERVER", MGMT_JMXPORT_REGISTRYSERVER);
+        envVarMap.put("QPID_JMXPORT_CONNECTORSERVER", MGMT_JMXPORT_CONNECTORSERVER);
         envVarMap.put("QPID_FRAMESIZE", "advanced.framesize");
         envVarMap.put("QPID_MSGAUTH", "security.msg-auth");
         envVarMap.put("QPID_AUTOREGISTER", "auto_register");
@@ -470,14 +474,24 @@ public class ServerConfiguration extends
         return System.getProperty(QPID_HOME);
     }
 
-    public void setJMXManagementPort(int mport)
+    public void setJMXPortRegistryServer(int registryServerPort)
     {
-        getConfig().setProperty("management.jmxport", mport);
+        getConfig().setProperty(MGMT_JMXPORT_REGISTRYSERVER, registryServerPort);
     }
 
-    public int getJMXManagementPort()
+    public int getJMXPortRegistryServer()
     {
-        return getIntValue("management.jmxport", DEFAULT_JMXPORT);
+        return getIntValue(MGMT_JMXPORT_REGISTRYSERVER, DEFAULT_JMXPORT_REGISTRYSERVER);
+    }
+
+    public void setJMXPortConnectorServer(int connectorServerPort)
+    {
+        getConfig().setProperty(MGMT_JMXPORT_CONNECTORSERVER, connectorServerPort);
+    }
+
+    public int getJMXConnectorServerPort()
+    {
+        return getIntValue(MGMT_JMXPORT_CONNECTORSERVER, getJMXPortRegistryServer() + JMXPORT_CONNECTORSERVER_OFFSET);
     }
 
     public boolean getUseCustomRMISocketFactory()

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java Wed Sep 14 13:35:17 2011
@@ -72,15 +72,14 @@ public class JMXManagedObjectRegistry im
 {
     private static final Logger _log = Logger.getLogger(JMXManagedObjectRegistry.class);
     
-    public static final String MANAGEMENT_PORT_CONFIG_PATH = "management.jmxport";
-    public static final int MANAGEMENT_PORT_DEFAULT = 8999;
-    public static final int PORT_EXPORT_OFFSET = 100;
-
     private final MBeanServer _mbeanServer;
     private JMXConnectorServer _cs;
     private Registry _rmiRegistry;
     private boolean _useCustomSocketFactory;
 
+    private final int _jmxPortRegistryServer;
+    private final int _jmxPortConnectorServer;
+
     public JMXManagedObjectRegistry() throws AMQException
     {
         _log.info("Initialising managed object registry using platform MBean server");
@@ -93,8 +92,11 @@ public class JMXManagedObjectRegistry im
         _mbeanServer =
                 platformServer ? ManagementFactory.getPlatformMBeanServer()
                 : MBeanServerFactory.createMBeanServer(ManagedObject.DOMAIN);
-    }
 
+        _jmxPortRegistryServer = appRegistry.getConfiguration().getJMXPortRegistryServer();
+        _jmxPortConnectorServer = appRegistry.getConfiguration().getJMXConnectorServerPort();
+
+    }
 
     public void start() throws IOException, ConfigurationException
     {
@@ -109,7 +111,6 @@ public class JMXManagedObjectRegistry im
         }
 
         IApplicationRegistry appRegistry = ApplicationRegistry.getInstance();
-        int port = appRegistry.getConfiguration().getJMXManagementPort();
 
 
         //Socket factories for the RMIConnectorServer, either default or SLL depending on configuration
@@ -204,14 +205,14 @@ public class JMXManagedObjectRegistry im
         System.setProperty("java.rmi.server.randomIDs", "true");
         if(_useCustomSocketFactory)
         {
-            _rmiRegistry = LocateRegistry.createRegistry(port, null, new CustomRMIServerSocketFactory());
+            _rmiRegistry = LocateRegistry.createRegistry(_jmxPortRegistryServer, null, new CustomRMIServerSocketFactory());
         }
         else
         {
-            _rmiRegistry = LocateRegistry.createRegistry(port, null, null);
+            _rmiRegistry = LocateRegistry.createRegistry(_jmxPortRegistryServer, null, null);
         }
         
-        CurrentActor.get().message(ManagementConsoleMessages.LISTENING("RMI Registry", port));
+        CurrentActor.get().message(ManagementConsoleMessages.LISTENING("RMI Registry", _jmxPortRegistryServer));
 
         /*
          * We must now create the RMI ConnectorServer manually, as the JMX Factory methods use RMI calls 
@@ -222,7 +223,7 @@ public class JMXManagedObjectRegistry im
          * The registry is exported on the defined management port 'port'. We will export the RMIConnectorServer
          * on 'port +1'. Use of these two well-defined ports will ease any navigation through firewall's. 
          */
-        final RMIServerImpl rmiConnectorServerStub = new RMIJRMPServerImpl(port+PORT_EXPORT_OFFSET, csf, ssf, env);
+        final RMIServerImpl rmiConnectorServerStub = new RMIJRMPServerImpl(_jmxPortConnectorServer, csf, ssf, env);
         String localHost;
         try
         {
@@ -234,9 +235,9 @@ public class JMXManagedObjectRegistry im
         }
         final String hostname = localHost;
         final JMXServiceURL externalUrl = new JMXServiceURL(
-                "service:jmx:rmi://"+hostname+":"+(port+PORT_EXPORT_OFFSET)+"/jndi/rmi://"+hostname+":"+port+"/jmxrmi");
+                "service:jmx:rmi://"+hostname+":"+(_jmxPortConnectorServer)+"/jndi/rmi://"+hostname+":"+_jmxPortRegistryServer+"/jmxrmi");
 
-        final JMXServiceURL internalUrl = new JMXServiceURL("rmi", hostname, port+PORT_EXPORT_OFFSET);
+        final JMXServiceURL internalUrl = new JMXServiceURL("rmi", hostname, _jmxPortConnectorServer);
         _cs = new RMIConnectorServer(internalUrl, env, rmiConnectorServerStub, _mbeanServer)
         {   
             @Override  
@@ -305,7 +306,7 @@ public class JMXManagedObjectRegistry im
         _cs.start();
 
         String connectorServer = (sslEnabled ? "SSL " : "") + "JMX RMIConnectorServer";
-        CurrentActor.get().message(ManagementConsoleMessages.LISTENING(connectorServer, port + PORT_EXPORT_OFFSET));
+        CurrentActor.get().message(ManagementConsoleMessages.LISTENING(connectorServer, _jmxPortConnectorServer));
 
         CurrentActor.get().message(ManagementConsoleMessages.READY(false));
     }
@@ -400,7 +401,7 @@ public class JMXManagedObjectRegistry im
         if (_rmiRegistry != null)
         {
             // Stopping the RMI registry
-            CurrentActor.get().message(ManagementConsoleMessages.SHUTTING_DOWN("RMI Registry", _cs.getAddress().getPort() - PORT_EXPORT_OFFSET));
+            CurrentActor.get().message(ManagementConsoleMessages.SHUTTING_DOWN("RMI Registry", _jmxPortRegistryServer));
             try
             {
                 UnicastRemoteObject.unexportObject(_rmiRegistry, false);

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java Wed Sep 14 13:35:17 2011
@@ -20,16 +20,11 @@
  */
 package org.apache.qpid.server;
 
-import static org.apache.qpid.transport.ConnectionSettings.WILDCARD_ADDRESS;
-import static org.apache.qpid.server.configuration.ServerConfiguration.DEFAULT_PORT;
-import static org.apache.qpid.server.configuration.ServerConfiguration.DEFAULT_JMXPORT;
-
-import java.util.Collections;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
-
 import org.apache.qpid.test.utils.QpidTestCase;
 
 
@@ -126,15 +121,26 @@ public class BrokerOptionsTest extends Q
         assertEquals(testLogConfigFile, _options.getLogConfigFile());
     }
 
-    public void testDefaultJmxPort()
+    public void testDefaultJmxPortRegistryServer()
+    {
+        assertNull(_options.getJmxPortRegistryServer());
+    }
+
+    public void testJmxPortRegistryServer()
+    {
+        _options.setJmxPortRegistryServer(TEST_PORT1);
+        assertEquals(Integer.valueOf(TEST_PORT1), _options.getJmxPortRegistryServer());
+    }
+
+    public void testDefaultJmxPortConnectorServer()
     {
-        assertNull(_options.getJmxPort());
+        assertNull(_options.getJmxPortConnectorServer());
     }
 
-    public void testJmxPort()
+    public void testJmxPortConnectorServer()
     {
-        _options.setJmxPort(TEST_PORT1);
-        assertEquals(Integer.valueOf(TEST_PORT1), _options.getJmxPort());
+        _options.setJmxPortConnectorServer(TEST_PORT1);
+        assertEquals(Integer.valueOf(TEST_PORT1), _options.getJmxPortConnectorServer());
     }
 
     public void testQpidHomeExposesSysProperty()

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java Wed Sep 14 13:35:17 2011
@@ -17,7 +17,7 @@ public class MainTest extends QpidTestCa
 
         assertTrue(options.getPorts().isEmpty());
         assertTrue(options.getSSLPorts().isEmpty());
-        assertEquals(null, options.getJmxPort());
+        assertEquals(null, options.getJmxPortRegistryServer());
         assertEquals(null, options.getConfigFile());
         assertEquals(null, options.getLogConfigFile());
         assertEquals(null, options.getBind());
@@ -76,11 +76,21 @@ public class MainTest extends QpidTestCa
         assertEquals(1, options.getSSLPorts().size());
     }
 
-    public void testJMXportOverridden()
+    public void testJmxPortRegistryServerOverridden()
     {
-        BrokerOptions options = startDummyMain("-m 3456");
+        BrokerOptions options = startDummyMain("--jmxregistryport 3456");
 
-        assertEquals(Integer.valueOf(3456), options.getJmxPort());
+        assertEquals(Integer.valueOf(3456), options.getJmxPortRegistryServer());
+
+         options = startDummyMain("-m 3457");
+         assertEquals(Integer.valueOf(3457), options.getJmxPortRegistryServer());
+    }
+
+    public void testJmxPortConnectorServerOverridden()
+    {
+        BrokerOptions options = startDummyMain("--jmxconnectorport 3456");
+
+        assertEquals(Integer.valueOf(3456), options.getJmxPortConnectorServer());
     }
 
     public void testExclude0_10()

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java Wed Sep 14 13:35:17 2011
@@ -58,18 +58,45 @@ public class ServerConfigurationTest ext
         ApplicationRegistry.remove();
     }
 
-    public void testSetJMXManagementPort() throws ConfigurationException
+    public void testSetJMXPortRegistryServer() throws ConfigurationException
     {
         _serverConfig.initialise();
-        _serverConfig.setJMXManagementPort(23);
-        assertEquals(23, _serverConfig.getJMXManagementPort());
+        _serverConfig.setJMXPortRegistryServer(23);
+        assertEquals(23, _serverConfig.getJMXPortRegistryServer());
     }
 
-    public void testGetJMXManagementPort() throws ConfigurationException
+    public void testGetJMXPortRegistryServer() throws ConfigurationException
     {
-        _config.setProperty("management.jmxport", 42);
+        _config.setProperty(ServerConfiguration.MGMT_JMXPORT_REGISTRYSERVER, 42);
         _serverConfig.initialise();
-        assertEquals(42, _serverConfig.getJMXManagementPort());
+        assertEquals(42, _serverConfig.getJMXPortRegistryServer());
+    }
+
+    public void testDefaultJMXPortRegistryServer() throws ConfigurationException
+    {
+        _serverConfig.initialise();
+        assertEquals(8999, _serverConfig.getJMXPortRegistryServer());
+    }
+
+    public void testSetJMXPortConnectorServer() throws ConfigurationException
+    {
+        ServerConfiguration serverConfig = new ServerConfiguration(_config);
+        serverConfig.setJMXPortConnectorServer(67);
+        assertEquals(67, serverConfig.getJMXConnectorServerPort());
+    }
+
+    public void testGetJMXPortConnectorServer() throws ConfigurationException
+    {
+        _config.setProperty(ServerConfiguration.MGMT_JMXPORT_CONNECTORSERVER, 67);
+        ServerConfiguration serverConfig = new ServerConfiguration(_config);
+        assertEquals(67, serverConfig.getJMXConnectorServerPort());
+    }
+
+    public void testDefaultJMXPortConnectorServer() throws ConfigurationException
+    {
+        ServerConfiguration serverConfig = new ServerConfiguration(_config);
+        assertEquals(ServerConfiguration.DEFAULT_JMXPORT_REGISTRYSERVER + ServerConfiguration.JMXPORT_CONNECTORSERVER_OFFSET,
+                        serverConfig.getJMXConnectorServerPort());
     }
 
     public void testGetPlatformMbeanserver() throws ConfigurationException

Modified: qpid/trunk/qpid/java/systests/etc/config-systests-firewall-2.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/etc/config-systests-firewall-2.xml?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/etc/config-systests-firewall-2.xml (original)
+++ qpid/trunk/qpid/java/systests/etc/config-systests-firewall-2.xml Wed Sep 14 13:35:17 2011
@@ -42,13 +42,6 @@
     </connector>
     <management>
         <enabled>false</enabled>
-        <jmxport>8999</jmxport>
-        <ssl>
-            <enabled>false</enabled>
-            <!-- Update below path to your keystore location, eg ${conf}/qpid.keystore  -->
-            <keyStorePath>${prefix}/../test-profiles/test_resources/ssl/keystore.jks</keyStorePath>
-            <keyStorePassword>password</keyStorePassword>
-        </ssl>
     </management>
     <advanced>
         <filterchain enableExecutorPool="true"/>

Modified: qpid/trunk/qpid/java/systests/etc/config-systests-firewall-3.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/etc/config-systests-firewall-3.xml?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/etc/config-systests-firewall-3.xml (original)
+++ qpid/trunk/qpid/java/systests/etc/config-systests-firewall-3.xml Wed Sep 14 13:35:17 2011
@@ -42,13 +42,6 @@
     </connector>
     <management>
         <enabled>false</enabled>
-        <jmxport>8999</jmxport>
-        <ssl>
-            <enabled>false</enabled>
-            <!-- Update below path to your keystore location, eg ${conf}/qpid.keystore  -->
-            <keyStorePath>${prefix}/../test-profiles/test_resources/ssl/keystore.jks</keyStorePath>
-            <keyStorePassword>password</keyStorePassword>
-        </ssl>
     </management>
     <advanced>
         <filterchain enableExecutorPool="true"/>

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java Wed Sep 14 13:35:17 2011
@@ -22,6 +22,7 @@ package org.apache.qpid.server.logging;
 
 import junit.framework.AssertionFailedError;
 
+import org.apache.qpid.server.configuration.ServerConfiguration;
 import org.apache.qpid.util.LogMonitor;
 
 import java.util.List;
@@ -206,7 +207,7 @@ public class ManagementLoggingTest exten
                 validateMessageID("MNG-1002", log);
 
                 //Check the RMI Registry port is as expected
-                int mPort = getPort() + (DEFAULT_MANAGEMENT_PORT - DEFAULT_PORT);
+                int mPort = getManagementPort(getPort());
                 assertTrue("RMI Registry port not as expected(" + mPort + ").:" + getMessageString(log),
                            getMessageString(log).endsWith(String.valueOf(mPort)));
 
@@ -217,7 +218,7 @@ public class ManagementLoggingTest exten
 
                 // We expect the RMI Registry port (the defined 'management port') to be
                 // 100 lower than the JMX RMIConnector Server Port (the actual JMX server)
-                int jmxPort = mPort + 100;
+                int jmxPort = mPort + ServerConfiguration.JMXPORT_CONNECTORSERVER_OFFSET;
                 assertTrue("JMX RMIConnectorServer port not as expected(" + jmxPort + ").:" + getMessageString(log),
                            getMessageString(log).endsWith(String.valueOf(jmxPort)));
             }

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1170612&r1=1170611&r2=1170612&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Wed Sep 14 13:35:17 2011
@@ -137,7 +137,7 @@ public class QpidBrokerTestCase extends 
     public static final int DEFAULT_VM_PORT = 1;
     public static final int DEFAULT_PORT = Integer.getInteger("test.port", ServerConfiguration.DEFAULT_PORT);
     public static final int FAILING_PORT = Integer.parseInt(System.getProperty("test.port.alt"));
-    public static final int DEFAULT_MANAGEMENT_PORT = Integer.getInteger("test.mport", ServerConfiguration.DEFAULT_JMXPORT);
+    public static final int DEFAULT_MANAGEMENT_PORT = Integer.getInteger("test.mport", ServerConfiguration.DEFAULT_JMXPORT_REGISTRYSERVER);
     public static final int DEFAULT_SSL_PORT = Integer.getInteger("test.port.ssl", ServerConfiguration.DEFAULT_SSL_PORT);
 
     protected String _brokerLanguage = System.getProperty(BROKER_LANGUAGE, JAVA);
@@ -480,7 +480,7 @@ public class QpidBrokerTestCase extends 
 
             addExcludedPorts(port, DEFAULT_SSL_PORT, options);
 
-            options.setJmxPort(getManagementPort(port));
+            options.setJmxPortRegistryServer(getManagementPort(port));
 
             //Set the log config file, relying on the log4j.configuration system property
             //set on the JVM by the JUnit runner task in module.xml.



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org