diff options
Diffstat (limited to 'java/broker/src/main/java/org/apache/qpid/server/Main.java')
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/Main.java | 255 |
1 files changed, 54 insertions, 201 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/Main.java b/java/broker/src/main/java/org/apache/qpid/server/Main.java index 9fe7a6619f..4927956c6c 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/Main.java +++ b/java/broker/src/main/java/org/apache/qpid/server/Main.java @@ -30,9 +30,6 @@ import org.apache.commons.cli.PosixParser; import org.apache.log4j.Logger; import org.apache.qpid.common.QpidProperties; import org.apache.qpid.framing.ProtocolVersion; -import org.apache.qpid.server.Broker.InitException; -import org.apache.qpid.server.registry.ApplicationRegistry; - /** * Main entry point for AMQPD. @@ -45,86 +42,17 @@ public class Main 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_1_0 = - OptionBuilder.withArgName("port").hasArg() - .withDescription("when listening on the specified port do not accept AMQP1-0 connections. The specified port must be one specified on the command line") - .withLongOpt("exclude-1-0").create(); - - 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_INCLUDE_1_0 = - OptionBuilder.withArgName("port").hasArg() - .withDescription("accept AMQP1-0 connections on this port, overriding configuration to the contrary. The specified port must be one specified on the command line") - .withLongOpt("include-1-0").create(); - -private static final Option OPTION_INCLUDE_0_10 = - OptionBuilder.withArgName("port").hasArg() - .withDescription("accept AMQP0-10 connections on this port, overriding configuration to the contrary. The specified port must be one specified on the command line") - .withLongOpt("include-0-10").create(); - -private static final Option OPTION_INCLUDE_0_9_1 = - OptionBuilder.withArgName("port").hasArg() - .withDescription("accept AMQP0-9-1 connections on this port, overriding configuration to the contrary. The specified port must be one specified on the command line") - .withLongOpt("include-0-9-1").create(); - -private static final Option OPTION_INCLUDE_0_9 = - OptionBuilder.withArgName("port").hasArg() - .withDescription("accept AMQP0-9 connections on this port, overriding configuration to the contrary. The specified port must be one specified on the command line") - .withLongOpt("include-0-9").create(); - -private static final Option OPTION_INCLUDE_0_8 = - OptionBuilder.withArgName("port").hasArg() - .withDescription("accept AMQP0-8 connections on this port, overriding configuration to the contrary. The specified port must be one specified on the command line") - .withLongOpt("include-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_CONFIGURATION_STORE_PATH = OptionBuilder.withArgName("path").hasArg() + .withDescription("use given configuration store location").withLongOpt("store-path").create("sp"); + + private static final Option OPTION_CONFIGURATION_STORE_TYPE = OptionBuilder.withArgName("type").hasArg() + .withDescription("use given store type").withLongOpt("store-type").create("st"); + + private static final Option OPTION_INITIAL_CONFIGURATION_STORE_PATH = OptionBuilder.withArgName("path").hasArg() + .withDescription("pass the location of initial store to use to create a user store").withLongOpt("initial-store-path").create("isp"); + + private static final Option OPTION_INITIAL_CONFIGURATION_STORE_TYPE = OptionBuilder.withArgName("type").hasArg() + .withDescription("the type of initial store").withLongOpt("initial-store-type").create("ist"); private static final Option OPTION_LOG_CONFIG_FILE = OptionBuilder.withArgName("file").hasArg() @@ -137,31 +65,31 @@ private static final Option OPTION_INCLUDE_0_8 = .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 Option OPTION_MANAGEMENT_MODE = OptionBuilder.withDescription("start broker in a management mode") + .withLongOpt("management-mode").create("mm"); + private static final Option OPTION_RMI_PORT = OptionBuilder.withArgName("port").hasArg() + .withDescription("override jmx rmi port in management mode").withLongOpt("jmxregistryport").create("rmi"); + private static final Option OPTION_CONNECTOR_PORT = OptionBuilder.withArgName("port").hasArg() + .withDescription("override jmx connector port in management mode").withLongOpt("jmxconnectorport").create("jmxrmi"); + private static final Option OPTION_HTTP_PORT = OptionBuilder.withArgName("port").hasArg() + .withDescription("override web management port in management mode").withLongOpt("httpport").create("http"); + private static final Options OPTIONS = new Options(); static { OPTIONS.addOption(OPTION_HELP); OPTIONS.addOption(OPTION_VERSION); - OPTIONS.addOption(OPTION_CONFIG_FILE); + OPTIONS.addOption(OPTION_CONFIGURATION_STORE_PATH); + OPTIONS.addOption(OPTION_CONFIGURATION_STORE_TYPE); OPTIONS.addOption(OPTION_LOG_CONFIG_FILE); OPTIONS.addOption(OPTION_LOG_WATCH); - OPTIONS.addOption(OPTION_PORT); - OPTIONS.addOption(OPTION_SSLPORT); - OPTIONS.addOption(OPTION_EXCLUDE_1_0); - 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_INCLUDE_1_0); - OPTIONS.addOption(OPTION_INCLUDE_0_10); - OPTIONS.addOption(OPTION_INCLUDE_0_9_1); - OPTIONS.addOption(OPTION_INCLUDE_0_9); - OPTIONS.addOption(OPTION_INCLUDE_0_8); - OPTIONS.addOption(OPTION_BIND); - - OPTIONS.addOption(OPTION_JMX_PORT_REGISTRY_SERVER); - OPTIONS.addOption(OPTION_JMX_PORT_CONNECTOR_SERVER); + OPTIONS.addOption(OPTION_INITIAL_CONFIGURATION_STORE_PATH); + OPTIONS.addOption(OPTION_INITIAL_CONFIGURATION_STORE_TYPE); + OPTIONS.addOption(OPTION_MANAGEMENT_MODE); + OPTIONS.addOption(OPTION_RMI_PORT); + OPTIONS.addOption(OPTION_CONNECTOR_PORT); + OPTIONS.addOption(OPTION_HTTP_PORT); } protected CommandLine _commandLine; @@ -243,10 +171,15 @@ private static final Option OPTION_INCLUDE_0_8 = else { BrokerOptions options = new BrokerOptions(); - String configFile = _commandLine.getOptionValue(OPTION_CONFIG_FILE.getOpt()); - if(configFile != null) + String configurationStore = _commandLine.getOptionValue(OPTION_CONFIGURATION_STORE_PATH.getOpt()); + if (configurationStore != null) + { + options.setConfigurationStoreLocation(configurationStore); + } + String configurationStoreType = _commandLine.getOptionValue(OPTION_CONFIGURATION_STORE_TYPE.getOpt()); + if (configurationStoreType != null) { - options.setConfigFile(configFile); + options.setConfigurationStoreType(configurationStoreType); } String logWatchConfig = _commandLine.getOptionValue(OPTION_LOG_WATCH.getOpt()); @@ -261,52 +194,37 @@ private static final Option OPTION_INCLUDE_0_8 = options.setLogConfigFile(logConfig); } - String jmxPortRegistryServer = _commandLine.getOptionValue(OPTION_JMX_PORT_REGISTRY_SERVER.getOpt()); - if(jmxPortRegistryServer != null) + String initialConfigurationStore = _commandLine.getOptionValue(OPTION_INITIAL_CONFIGURATION_STORE_PATH.getOpt()); + if (initialConfigurationStore != null) { - options.setJmxPortRegistryServer(Integer.parseInt(jmxPortRegistryServer)); + options.setInitialConfigurationStoreLocation(initialConfigurationStore); } - - String jmxPortConnectorServer = _commandLine.getOptionValue(OPTION_JMX_PORT_CONNECTOR_SERVER.getLongOpt()); - if(jmxPortConnectorServer != null) - { - options.setJmxPortConnectorServer(Integer.parseInt(jmxPortConnectorServer)); - } - - String bindAddr = _commandLine.getOptionValue(OPTION_BIND.getOpt()); - if (bindAddr != null) + String initailConfigurationStoreType = _commandLine.getOptionValue(OPTION_INITIAL_CONFIGURATION_STORE_TYPE.getOpt()); + if (initailConfigurationStoreType != null) { - options.setBind(bindAddr); + options.setInitialConfigurationStoreType(initailConfigurationStoreType); } - String[] portStr = _commandLine.getOptionValues(OPTION_PORT.getOpt()); - if(portStr != null) + boolean managmentMode = _commandLine.hasOption(OPTION_MANAGEMENT_MODE.getOpt()); + if (managmentMode) { - parsePortArray(options, portStr, false); - for(ProtocolExclusion pe : ProtocolExclusion.values()) + options.setManagementMode(true); + String rmiPort = _commandLine.getOptionValue(OPTION_RMI_PORT.getOpt()); + if (rmiPort != null) { - parsePortArray(options, _commandLine.getOptionValues(pe.getExcludeName()), pe); + options.setManagementModeRmiPort(Integer.parseInt(rmiPort)); } - for(ProtocolInclusion pe : ProtocolInclusion.values()) + String connectorPort = _commandLine.getOptionValue(OPTION_CONNECTOR_PORT.getOpt()); + if (connectorPort != null) { - parseProtocolInclusions(options, _commandLine.getOptionValues(pe.getIncludeName()), pe); + options.setManagementModeConnectorPort(Integer.parseInt(connectorPort)); } - } - - String[] sslPortStr = _commandLine.getOptionValues(OPTION_SSLPORT.getOpt()); - if(sslPortStr != null) - { - parsePortArray(options, sslPortStr, true); - for(ProtocolExclusion pe : ProtocolExclusion.values()) + String httpPort = _commandLine.getOptionValue(OPTION_HTTP_PORT.getOpt()); + if (httpPort != null) { - parsePortArray(options, _commandLine.getOptionValues(pe.getExcludeName()), pe); - } - for(ProtocolInclusion pe : ProtocolInclusion.values()) - { - parseProtocolInclusions(options, _commandLine.getOptionValues(pe.getIncludeName()), pe); + options.setManagementModeHttpPort(Integer.parseInt(httpPort)); } } - setExceptionHandler(); startBroker(options); @@ -389,72 +307,7 @@ private static final Option OPTION_INCLUDE_0_8 = protected void shutdown(final int status) { - ApplicationRegistry.remove(); System.exit(status); } - private static void parsePortArray(final BrokerOptions options,final Object[] ports, - final boolean ssl) throws InitException - { - if(ports != null) - { - for(int i = 0; i < ports.length; i++) - { - try - { - if(ssl) - { - options.addSSLPort(Integer.parseInt(String.valueOf(ports[i]))); - } - else - { - options.addPort(Integer.parseInt(String.valueOf(ports[i]))); - } - } - catch (NumberFormatException e) - { - throw new InitException("Invalid port: " + ports[i], e); - } - } - } - } - - private static void parsePortArray(final BrokerOptions options, final Object[] ports, - final ProtocolExclusion excludedProtocol) throws InitException - { - if(ports != null) - { - for(int i = 0; i < ports.length; i++) - { - try - { - options.addExcludedPort(excludedProtocol, - Integer.parseInt(String.valueOf(ports[i]))); - } - catch (NumberFormatException e) - { - throw new InitException("Invalid port for exclusion: " + ports[i], e); - } - } - } - } - - private static void parseProtocolInclusions(final BrokerOptions options, final Object[] ports, - final ProtocolInclusion includedProtocol) throws InitException - { - if(ports != null) - { - for(int i = 0; i < ports.length; i++) - { - try - { - options.addIncludedPort(includedProtocol, Integer.parseInt(String.valueOf(ports[i]))); - } - catch (NumberFormatException e) - { - throw new InitException("Invalid port for inclusion: " + ports[i], e); - } - } - } - } } |