summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-12-07 10:54:59 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-12-07 10:54:59 +0000
commitdb07194fdec1c2c27d9de2fdc881e5d8e7b3ead9 (patch)
treec642b1d91278214f45eb31eec981eb6678451e9f /qpid/java
parent29ae1eaabfa2d46c3f0728d6b3f9477661f9abd4 (diff)
downloadqpid-python-db07194fdec1c2c27d9de2fdc881e5d8e7b3ead9.tar.gz
QPID-6263 : [Java Broker] Remove knowledge of BrokerOptions from SystemConfig and simply use attributes instead
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1643660 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBSystemConfigImpl.java7
-rw-r--r--qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/SystemConfigFactoryGenerator.java7
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java12
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java24
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java83
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/JsonSystemConfigImpl.java7
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java35
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java19
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/SystemConfigFactory.java5
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java50
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java2
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java2
-rw-r--r--qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbySystemConfigImpl.java7
-rw-r--r--qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCSystemConfigImpl.java7
-rw-r--r--qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemorySystemConfigImpl.java7
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java4
17 files changed, 197 insertions, 83 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBSystemConfigImpl.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBSystemConfigImpl.java
index 5d65d6e16d..90bb4b74ee 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBSystemConfigImpl.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBSystemConfigImpl.java
@@ -20,7 +20,8 @@
*/
package org.apache.qpid.server.store.berkeleydb;
-import org.apache.qpid.server.BrokerOptions;
+import java.util.Map;
+
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
@@ -49,10 +50,10 @@ public class BDBSystemConfigImpl extends AbstractSystemConfig<BDBSystemConfigImp
public BDBSystemConfigImpl(final TaskExecutor taskExecutor,
final EventLogger eventLogger,
final LogRecorder logRecorder,
- final BrokerOptions brokerOptions,
+ final Map<String,Object> attributes,
final BrokerShutdownProvider brokerShutdownProvider)
{
- super(taskExecutor, eventLogger, logRecorder, brokerOptions, brokerShutdownProvider);
+ super(taskExecutor, eventLogger, logRecorder, attributes, brokerShutdownProvider);
}
@Override
diff --git a/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/SystemConfigFactoryGenerator.java b/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/SystemConfigFactoryGenerator.java
index 317e0f7c74..52c1276d49 100644
--- a/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/SystemConfigFactoryGenerator.java
+++ b/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/SystemConfigFactoryGenerator.java
@@ -113,7 +113,8 @@ public class SystemConfigFactoryGenerator extends AbstractProcessor
pw.println(";");
pw.println();
- pw.println("import org.apache.qpid.server.BrokerOptions;");
+ pw.println("import java.util.Map;");
+ pw.println();
pw.println("import org.apache.qpid.server.configuration.updater.TaskExecutor;");
pw.println("import org.apache.qpid.server.logging.EventLogger;");
pw.println("import org.apache.qpid.server.logging.LogRecorder;");
@@ -140,10 +141,10 @@ public class SystemConfigFactoryGenerator extends AbstractProcessor
pw.println(" public "+objectSimpleName+" newInstance(final TaskExecutor taskExecutor,");
pw.println(" final EventLogger eventLogger,");
pw.println(" final LogRecorder logRecorder,");
- pw.println(" final BrokerOptions brokerOptions,");
+ pw.println(" final Map<String,Object> attributes,");
pw.println(" final BrokerShutdownProvider brokerShutdownProvider)");
pw.println(" {");
- pw.println(" return new "+objectSimpleName+"(taskExecutor, eventLogger, logRecorder, brokerOptions, brokerShutdownProvider);");
+ pw.println(" return new "+objectSimpleName+"(taskExecutor, eventLogger, logRecorder, attributes, brokerShutdownProvider);");
pw.println(" }");
pw.println("}");
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
index a5a84b019d..3b899e3dd3 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
@@ -193,7 +193,7 @@ public class Broker implements BrokerShutdownProvider
LogRecorder logRecorder = new LogRecorder();
_taskExecutor.start();
- _systemConfig = configFactory.newInstance(_taskExecutor, _eventLogger, logRecorder, options, this);
+ _systemConfig = configFactory.newInstance(_taskExecutor, _eventLogger, logRecorder, options.convertToSystemConfigAttributes(), this);
_systemConfig.open();
_store = _systemConfig.getConfigurationStore();
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
index 9b3f290723..ebb113d43b 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
@@ -29,6 +29,7 @@ import java.util.concurrent.ConcurrentMap;
import org.apache.qpid.server.configuration.BrokerProperties;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.SystemConfig;
import org.apache.qpid.server.util.StringUtil;
public class BrokerOptions
@@ -80,12 +81,21 @@ public class BrokerOptions
private Map<String, String> _configProperties = new HashMap<String,String>();
private String _initialSystemProperties;
- public Map<String, Object> convertToSystemAttributes()
+ public Map<String, Object> convertToSystemConfigAttributes()
{
Map<String,Object> attributes = new HashMap<String, Object>();
attributes.put("storePath", getConfigurationStoreLocation());
attributes.put(ConfiguredObject.CONTEXT, getConfigProperties());
+
+ attributes.put(SystemConfig.MANAGEMENT_MODE, _managementMode);
+ attributes.put(SystemConfig.MANAGEMENT_MODE_QUIESCE_VIRTUAL_HOSTS, _managementModeQuiesceVhosts);
+ attributes.put(SystemConfig.MANAGEMENT_MODE_RMI_PORT_OVERRIDE, _managementModeRmiPortOverride);
+ attributes.put(SystemConfig.MANAGEMENT_MODE_JMX_PORT_OVERRIDE, _managementModeJmxPortOverride);
+ attributes.put(SystemConfig.MANAGEMENT_MODE_HTTP_PORT_OVERRIDE, _managementModeHttpPortOverride);
+ attributes.put(SystemConfig.MANAGEMENT_MODE_PASSWORD, _managementModePassword);
+ attributes.put(SystemConfig.INITIAL_CONFIGURATION_LOCATION, getInitialConfigurationLocation());
+
return attributes;
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
index 4032ae2f39..bf45268a5e 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
@@ -30,7 +30,6 @@ import java.util.UUID;
import org.apache.log4j.Logger;
-import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -40,6 +39,7 @@ import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.State;
+import org.apache.qpid.server.model.SystemConfig;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.adapter.BrokerAdapter;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
@@ -62,14 +62,14 @@ public class ManagementModeStoreHandler implements DurableConfigurationStore
private final DurableConfigurationStore _store;
private Map<UUID, ConfiguredObjectRecord> _cliEntries;
private Map<UUID, Object> _quiescedEntriesOriginalState;
- private final BrokerOptions _options;
+ private final SystemConfig<?> _systemConfig;
private ConfiguredObject<?> _parent;
private HashMap<UUID, ConfiguredObjectRecord> _records;
public ManagementModeStoreHandler(DurableConfigurationStore store,
- BrokerOptions options)
+ SystemConfig<?> systemConfig)
{
- _options = options;
+ _systemConfig = systemConfig;
_store = store;
}
@@ -82,16 +82,16 @@ public class ManagementModeStoreHandler implements DurableConfigurationStore
_parent = parent;
_store.openConfigurationStore(parent, overwrite, initialRecords);
- _quiescedEntriesOriginalState = quiesceEntries(_options);
+ _quiescedEntriesOriginalState = quiesceEntries(_systemConfig);
_records = new HashMap<UUID, ConfiguredObjectRecord>();
final ConfiguredObjectRecordHandler localRecoveryHandler = new ConfiguredObjectRecordHandler()
{
private int _version;
- private boolean _quiesceRmiPort = _options.getManagementModeRmiPortOverride() > 0;
- private boolean _quiesceJmxPort = _options.getManagementModeJmxPortOverride() > 0;
- private boolean _quiesceHttpPort = _options.getManagementModeHttpPortOverride() > 0;
+ private boolean _quiesceRmiPort = _systemConfig.getManagementModeRmiPortOverride() > 0;
+ private boolean _quiesceJmxPort = _systemConfig.getManagementModeJmxPortOverride() > 0;
+ private boolean _quiesceHttpPort = _systemConfig.getManagementModeHttpPortOverride() > 0;
@Override
public void begin()
@@ -104,7 +104,7 @@ public class ManagementModeStoreHandler implements DurableConfigurationStore
String entryType = object.getType();
Map<String, Object> attributes = object.getAttributes();
boolean quiesce = false;
- if (VIRTUAL_HOST_TYPE.equals(entryType) && _options.isManagementModeQuiesceVirtualHosts())
+ if (VIRTUAL_HOST_TYPE.equals(entryType) && _systemConfig.isManagementModeQuiesceVirtualHosts())
{
quiesce = true;
}
@@ -174,7 +174,7 @@ public class ManagementModeStoreHandler implements DurableConfigurationStore
_store.visitConfiguredObjectRecords(localRecoveryHandler);
- _cliEntries = createPortsFromCommandLineOptions(_options);
+ _cliEntries = createPortsFromCommandLineOptions(_systemConfig);
for(ConfiguredObjectRecord entry : _cliEntries.values())
{
@@ -293,7 +293,7 @@ public class ManagementModeStoreHandler implements DurableConfigurationStore
}
}
- private Map<UUID, ConfiguredObjectRecord> createPortsFromCommandLineOptions(BrokerOptions options)
+ private Map<UUID, ConfiguredObjectRecord> createPortsFromCommandLineOptions(SystemConfig<?> options)
{
int managementModeRmiPortOverride = options.getManagementModeRmiPortOverride();
if (managementModeRmiPortOverride < 0)
@@ -369,7 +369,7 @@ public class ManagementModeStoreHandler implements DurableConfigurationStore
}
- private Map<UUID, Object> quiesceEntries(final BrokerOptions options)
+ private Map<UUID, Object> quiesceEntries(final SystemConfig<?> options)
{
final Map<UUID, Object> quiescedEntries = new HashMap<UUID, Object>();
final int managementModeRmiPortOverride = options.getManagementModeRmiPortOverride();
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java
index f8dac7cbe9..5dfb178f15 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java
@@ -31,7 +31,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
-import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.configuration.store.ManagementModeStoreHandler;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
@@ -48,24 +47,44 @@ public abstract class AbstractSystemConfig<X extends SystemConfig<X>>
private static final UUID SYSTEM_ID = new UUID(0l, 0l);
private final EventLogger _eventLogger;
private final LogRecorder _logRecorder;
- private final BrokerOptions _brokerOptions;
private final BrokerShutdownProvider _brokerShutdownProvider;
private DurableConfigurationStore _configurationStore;
+ @ManagedAttributeField
+ private boolean _managementMode;
+
+ @ManagedAttributeField
+ private int _managementModeRmiPortOverride;
+
+ @ManagedAttributeField
+ private int _managementModeJmxPortOverride;
+
+ @ManagedAttributeField
+ private int _managementModeHttpPortOverride;
+
+ @ManagedAttributeField
+ private boolean _managementModeQuiesceVirtualHosts;
+
+ @ManagedAttributeField
+ private String _managementModePassword;
+
+ @ManagedAttributeField
+ private String _initialConfigurationLocation;
+
+
public AbstractSystemConfig(final TaskExecutor taskExecutor,
final EventLogger eventLogger,
final LogRecorder logRecorder,
- final BrokerOptions brokerOptions,
+ final Map<String,Object> attributes,
final BrokerShutdownProvider brokerShutdownProvider)
{
super(parentsMap(),
- updateAttributes(brokerOptions.convertToSystemAttributes()),
+ updateAttributes(attributes),
taskExecutor, BrokerModel.getInstance());
_eventLogger = eventLogger;
getTaskExecutor().start();
_logRecorder = logRecorder;
- _brokerOptions = brokerOptions;
_brokerShutdownProvider = brokerShutdownProvider;
}
@@ -101,12 +120,6 @@ public abstract class AbstractSystemConfig<X extends SystemConfig<X>>
}
@Override
- public BrokerOptions getBrokerOptions()
- {
- return _brokerOptions;
- }
-
- @Override
protected void onClose()
{
try
@@ -155,16 +168,16 @@ public abstract class AbstractSystemConfig<X extends SystemConfig<X>>
super.onOpen();
_configurationStore = createStoreObject();
- if (_brokerOptions.isManagementMode())
+ if (isManagementMode())
{
- _configurationStore = new ManagementModeStoreHandler(_configurationStore, _brokerOptions);
+ _configurationStore = new ManagementModeStoreHandler(_configurationStore, this);
}
try
{
_configurationStore.openConfigurationStore(this,
false,
- convertToConfigurationRecords(_brokerOptions.getInitialConfigurationLocation(),
+ convertToConfigurationRecords(getInitialConfigurationLocation(),
this));
_configurationStore.upgradeStoreStructure();
}
@@ -216,6 +229,48 @@ public abstract class AbstractSystemConfig<X extends SystemConfig<X>>
}
@Override
+ public boolean isManagementMode()
+ {
+ return _managementMode;
+ }
+
+ @Override
+ public int getManagementModeRmiPortOverride()
+ {
+ return _managementModeRmiPortOverride;
+ }
+
+ @Override
+ public int getManagementModeJmxPortOverride()
+ {
+ return _managementModeJmxPortOverride;
+ }
+
+ @Override
+ public int getManagementModeHttpPortOverride()
+ {
+ return _managementModeHttpPortOverride;
+ }
+
+ @Override
+ public boolean isManagementModeQuiesceVirtualHosts()
+ {
+ return _managementModeQuiesceVirtualHosts;
+ }
+
+ @Override
+ public String getManagementModePassword()
+ {
+ return _managementModePassword;
+ }
+
+ @Override
+ public String getInitialConfigurationLocation()
+ {
+ return _initialConfigurationLocation;
+ }
+
+ @Override
public BrokerShutdownProvider getBrokerShutdownProvider()
{
return _brokerShutdownProvider;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/JsonSystemConfigImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/JsonSystemConfigImpl.java
index c9a828e7e4..440c7e341c 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/JsonSystemConfigImpl.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/JsonSystemConfigImpl.java
@@ -20,7 +20,8 @@
*/
package org.apache.qpid.server.model;
-import org.apache.qpid.server.BrokerOptions;
+import java.util.Map;
+
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
@@ -38,10 +39,10 @@ public class JsonSystemConfigImpl extends AbstractSystemConfig<JsonSystemConfigI
public JsonSystemConfigImpl(final TaskExecutor taskExecutor,
final EventLogger eventLogger,
final LogRecorder logRecorder,
- final BrokerOptions brokerOptions,
+ final Map<String,Object> attributes,
final BrokerShutdownProvider brokerShutdownProvider)
{
- super(taskExecutor, eventLogger, logRecorder, brokerOptions, brokerShutdownProvider);
+ super(taskExecutor, eventLogger, logRecorder, attributes, brokerShutdownProvider);
}
public String getStorePath()
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java
index ec063142b4..c985541a53 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java
@@ -20,7 +20,6 @@
*/
package org.apache.qpid.server.model;
-import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.store.DurableConfigurationStore;
@@ -28,9 +27,38 @@ import org.apache.qpid.server.store.DurableConfigurationStore;
@ManagedObject (creatable = false)
public interface SystemConfig<X extends SystemConfig<X>> extends ConfiguredObject<X>
{
- EventLogger getEventLogger();
+ String MANAGEMENT_MODE = "managementMode";
+
+ String MANAGEMENT_MODE_QUIESCE_VIRTUAL_HOSTS = "managementModeQuiesceVirtualHosts";
+ String MANAGEMENT_MODE_RMI_PORT_OVERRIDE = "managementModeRmiPortOverride";
+ String MANAGEMENT_MODE_JMX_PORT_OVERRIDE = "managementModeJmxPortOverride";
+ String MANAGEMENT_MODE_HTTP_PORT_OVERRIDE = "managementModeHttpPortOverride";
+ String MANAGEMENT_MODE_PASSWORD = "managementModePassword";
+ String INITIAL_CONFIGURATION_LOCATION = "initialConfigurationLocation";
+
+ @ManagedAttribute(defaultValue = "false")
+ boolean isManagementMode();
+
+ @ManagedAttribute(defaultValue = "0")
+ int getManagementModeRmiPortOverride();
+
+ @ManagedAttribute(defaultValue = "0")
+ int getManagementModeJmxPortOverride();
+
+ @ManagedAttribute(defaultValue = "0")
+ int getManagementModeHttpPortOverride();
+
+ @ManagedAttribute(defaultValue = "false")
+ boolean isManagementModeQuiesceVirtualHosts();
- BrokerOptions getBrokerOptions();
+ @ManagedAttribute(secure = true)
+ String getManagementModePassword();
+
+ @ManagedAttribute
+ String getInitialConfigurationLocation();
+
+
+ EventLogger getEventLogger();
Broker getBroker();
@@ -39,4 +67,5 @@ public interface SystemConfig<X extends SystemConfig<X>> extends ConfiguredObjec
DurableConfigurationStore getConfigurationStore();
BrokerShutdownProvider getBrokerShutdownProvider();
+
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
index 313fd509e2..13182cb93e 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
@@ -71,13 +71,13 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
CONNECTION_HEART_BEAT_DELAY, STATISTICS_REPORTING_PERIOD };
+ private SystemConfig<?> _parent;
private EventLogger _eventLogger;
private final LogRecorder _logRecorder;
private final SecurityManager _securityManager;
private AuthenticationProvider<?> _managementModeAuthenticationProvider;
- private BrokerOptions _brokerOptions;
private Timer _reportingTimer;
private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
@@ -108,18 +108,17 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
SystemConfig parent)
{
super(parentsMap(parent), attributes);
-
+ _parent = parent;
_logRecorder = parent.getLogRecorder();
_eventLogger = parent.getEventLogger();
- _brokerOptions = parent.getBrokerOptions();
- _securityManager = new SecurityManager(this, _brokerOptions.isManagementMode());
- if (_brokerOptions.isManagementMode())
+ _securityManager = new SecurityManager(this, parent.isManagementMode());
+ if (parent.isManagementMode())
{
Map<String,Object> authManagerAttrs = new HashMap<String, Object>();
authManagerAttrs.put(NAME,"MANAGEMENT_MODE_AUTHENTICATION");
authManagerAttrs.put(ID, UUID.randomUUID());
SimpleAuthenticationManager authManager = new SimpleAuthenticationManager(authManagerAttrs, this);
- authManager.addUser(BrokerOptions.MANAGEMENT_MODE_USER_NAME, _brokerOptions.getManagementModePassword());
+ authManager.addUser(BrokerOptions.MANAGEMENT_MODE_USER_NAME, _parent.getManagementModePassword());
_managementModeAuthenticationProvider = authManager;
}
_messagesDelivered = new StatisticsCounter("messages-delivered");
@@ -230,7 +229,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
@StateTransition( currentState = State.UNINITIALIZED, desiredState = State.ACTIVE )
private void activate()
{
- if(_brokerOptions.isManagementMode())
+ if(_parent.isManagementMode())
{
_managementModeAuthenticationProvider.open();
}
@@ -263,7 +262,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
}
final boolean brokerShutdownOnErroredChild = getContextValue(Boolean.class, BROKER_FAIL_STARTUP_WITH_ERRORED_CHILD);
- if (!_brokerOptions.isManagementMode() && brokerShutdownOnErroredChild && hasBrokerAnyErroredChildren)
+ if (!_parent.isManagementMode() && brokerShutdownOnErroredChild && hasBrokerAnyErroredChildren)
{
throw new IllegalStateException(String.format("Broker context variable %s is set and the broker has %s children",
BROKER_FAIL_STARTUP_WITH_ERRORED_CHILD, State.ERRORED));
@@ -274,7 +273,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
if (isManagementMode())
{
_eventLogger.message(BrokerMessages.MANAGEMENT_MODE(BrokerOptions.MANAGEMENT_MODE_USER_NAME,
- _brokerOptions.getManagementModePassword()));
+ _parent.getManagementModePassword()));
}
setState(State.ACTIVE);
}
@@ -939,7 +938,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
@Override
public boolean isManagementMode()
{
- return _brokerOptions.isManagementMode();
+ return _parent.isManagementMode();
}
@Override
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/SystemConfigFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/SystemConfigFactory.java
index 885194d939..6d4098afea 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/SystemConfigFactory.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/SystemConfigFactory.java
@@ -20,7 +20,8 @@
*/
package org.apache.qpid.server.plugin;
-import org.apache.qpid.server.BrokerOptions;
+import java.util.Map;
+
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
@@ -32,6 +33,6 @@ public interface SystemConfigFactory<X extends SystemConfig<X>> extends Pluggabl
public X newInstance(final TaskExecutor taskExecutor,
final EventLogger eventLogger,
final LogRecorder logRecorder,
- final BrokerOptions brokerOptions,
+ final Map<String,Object> options,
final BrokerShutdownProvider brokerShutdownProvider);
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
index fbb08cdd2a..57672dc4f7 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
@@ -34,7 +34,6 @@ import java.util.HashSet;
import java.util.Map;
import java.util.UUID;
-import org.apache.qpid.server.model.BrokerShutdownProvider;
import org.mockito.ArgumentCaptor;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
@@ -46,6 +45,7 @@ import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerShutdownProvider;
import org.apache.qpid.server.model.JsonSystemConfigImpl;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Protocol;
@@ -79,7 +79,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
_taskExecutor.start();
_systemConfig = new JsonSystemConfigImpl(_taskExecutor, mock(EventLogger.class),
- mock(LogRecorder.class), new BrokerOptions(),
+ mock(LogRecorder.class), new BrokerOptions().convertToSystemConfigAttributes(),
mock(BrokerShutdownProvider.class));
@@ -111,15 +111,29 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
}
).when(_store).visitConfiguredObjectRecords(recovererArgumentCaptor.capture());
_options = new BrokerOptions();
- _handler = new ManagementModeStoreHandler(_store, _options);
+
+ _handler = new ManagementModeStoreHandler(_store, _systemConfig);;
_handler.openConfigurationStore(_systemConfig, false);
}
+ private ManagementModeStoreHandler createManagementModeStoreHandler()
+ {
+ _systemConfig.close();
+ _systemConfig = new JsonSystemConfigImpl(_taskExecutor,
+ mock(EventLogger.class),
+ mock(LogRecorder.class),
+ _options.convertToSystemConfigAttributes(),
+ mock(BrokerShutdownProvider.class));
+ _systemConfig.open();
+ return new ManagementModeStoreHandler(_store, _systemConfig);
+ }
+
@Override
public void tearDown() throws Exception
{
_taskExecutor.stop();
+ _systemConfig.close();
super.tearDown();
}
@@ -154,7 +168,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
public void testGetRootEntryWithHttpPortOverriden()
{
_options.setManagementModeHttpPortOverride(9090);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
ConfiguredObjectRecord root = getRootEntry();
assertEquals("Unexpected root id", _rootId, root.getId());
@@ -166,7 +180,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
public void testGetRootEntryWithRmiPortOverriden()
{
_options.setManagementModeRmiPortOverride(9090);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
ConfiguredObjectRecord root = getRootEntry();
@@ -179,7 +193,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
public void testGetRootEntryWithConnectorPortOverriden()
{
_options.setManagementModeJmxPortOverride(9090);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
ConfiguredObjectRecord root = getRootEntry();
@@ -194,7 +208,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
_options.setManagementModeHttpPortOverride(1000);
_options.setManagementModeRmiPortOverride(2000);
_options.setManagementModeJmxPortOverride(3000);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
ConfiguredObjectRecord root = getRootEntry();
@@ -222,7 +236,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
public void testGetEntryByCLIConnectorPortId()
{
_options.setManagementModeJmxPortOverride(9090);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
@@ -234,7 +248,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
public void testGetEntryByCLIHttpPortId()
{
_options.setManagementModeHttpPortOverride(9090);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
@@ -249,7 +263,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
attributes.put(Port.PROTOCOLS, Collections.singleton(Protocol.HTTP));
when(_portEntry.getAttributes()).thenReturn(attributes);
_options.setManagementModeHttpPortOverride(9090);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
@@ -263,7 +277,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
attributes.put(Port.PROTOCOLS, Collections.singleton(Protocol.RMI));
when(_portEntry.getAttributes()).thenReturn(attributes);
_options.setManagementModeRmiPortOverride(9090);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
@@ -277,7 +291,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
attributes.put(Port.PROTOCOLS, Collections.singleton(Protocol.JMX_RMI));
when(_portEntry.getAttributes()).thenReturn(attributes);
_options.setManagementModeRmiPortOverride(9090);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
@@ -328,7 +342,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
_options.setManagementModeQuiesceVirtualHosts(mmQuiesceVhosts);
}
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
ConfiguredObjectRecord hostEntry = getEntry(virtualHostId);
@@ -354,7 +368,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
_options.setManagementModeHttpPortOverride(1000);
_options.setManagementModeRmiPortOverride(2000);
_options.setManagementModeJmxPortOverride(3000);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
Map<String, Object> attributes = new HashMap<String, Object>();
@@ -371,7 +385,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
_options.setManagementModeHttpPortOverride(1000);
_options.setManagementModeRmiPortOverride(2000);
_options.setManagementModeJmxPortOverride(3000);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
ConfiguredObjectRecord root = getRootEntry();
@@ -386,7 +400,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
public void testSaveCLIHttpPort()
{
_options.setManagementModeHttpPortOverride(1000);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
UUID portId = getOptionsPortId();
@@ -410,7 +424,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
public void testRemove()
{
_options.setManagementModeHttpPortOverride(1000);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
ConfiguredObjectRecord record = new ConfiguredObjectRecord()
@@ -446,7 +460,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
public void testRemoveCLIPort()
{
_options.setManagementModeHttpPortOverride(1000);
- _handler = new ManagementModeStoreHandler(_store, _options);
+ _handler = createManagementModeStoreHandler();
_handler.openConfigurationStore(_systemConfig, false);
UUID portId = getOptionsPortId();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
index f4802481cb..07139881c1 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
@@ -69,7 +69,7 @@ public class BrokerRecovererTest extends TestCase
_brokerShutdownProvider = mock(BrokerShutdownProvider.class);
_systemConfig = new JsonSystemConfigImpl(_taskExecutor,
mock(EventLogger.class), mock(LogRecorder.class),
- new BrokerOptions(),
+ new BrokerOptions().convertToSystemConfigAttributes(),
_brokerShutdownProvider);
when(_brokerEntry.getId()).thenReturn(_brokerId);
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
index 830fa46c2c..274ff1b1a7 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
@@ -81,7 +81,7 @@ public class BrokerStoreUpgraderAndRecovererTest extends QpidTestCase
_systemConfig = new JsonSystemConfigImpl(_taskExecutor,
mock(EventLogger.class),
mock(LogRecorder.class),
- new BrokerOptions(),
+ new BrokerOptions().convertToSystemConfigAttributes(),
mock(BrokerShutdownProvider.class));
}
diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbySystemConfigImpl.java b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbySystemConfigImpl.java
index a8b9edaa12..0cc4f2b18c 100644
--- a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbySystemConfigImpl.java
+++ b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbySystemConfigImpl.java
@@ -20,7 +20,8 @@
*/
package org.apache.qpid.server.store.derby;
-import org.apache.qpid.server.BrokerOptions;
+import java.util.Map;
+
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
@@ -48,10 +49,10 @@ public class DerbySystemConfigImpl extends AbstractSystemConfig<DerbySystemConfi
public DerbySystemConfigImpl(final TaskExecutor taskExecutor,
final EventLogger eventLogger,
final LogRecorder logRecorder,
- final BrokerOptions brokerOptions,
+ final Map<String,Object> attributes,
final BrokerShutdownProvider brokerShutdownProvider)
{
- super(taskExecutor, eventLogger, logRecorder, brokerOptions, brokerShutdownProvider);
+ super(taskExecutor, eventLogger, logRecorder, attributes, brokerShutdownProvider);
}
@Override
diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCSystemConfigImpl.java b/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCSystemConfigImpl.java
index a552b170a0..9c3d33fc04 100644
--- a/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCSystemConfigImpl.java
+++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCSystemConfigImpl.java
@@ -20,7 +20,8 @@
*/
package org.apache.qpid.server.store.jdbc;
-import org.apache.qpid.server.BrokerOptions;
+import java.util.Map;
+
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
@@ -50,10 +51,10 @@ public class JDBCSystemConfigImpl extends AbstractSystemConfig<JDBCSystemConfigI
public JDBCSystemConfigImpl(final TaskExecutor taskExecutor,
final EventLogger eventLogger,
final LogRecorder logRecorder,
- final BrokerOptions brokerOptions,
+ final Map<String,Object> attributes,
final BrokerShutdownProvider brokerShutdownProvider)
{
- super(taskExecutor, eventLogger, logRecorder, brokerOptions, brokerShutdownProvider);
+ super(taskExecutor, eventLogger, logRecorder, attributes, brokerShutdownProvider);
}
@Override
diff --git a/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemorySystemConfigImpl.java b/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemorySystemConfigImpl.java
index 3f5215219b..a15de21ce7 100644
--- a/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemorySystemConfigImpl.java
+++ b/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemorySystemConfigImpl.java
@@ -20,7 +20,8 @@
*/
package org.apache.qpid.server.store;
-import org.apache.qpid.server.BrokerOptions;
+import java.util.Map;
+
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
@@ -40,10 +41,10 @@ public class MemorySystemConfigImpl extends AbstractSystemConfig<MemorySystemCon
public MemorySystemConfigImpl(final TaskExecutor taskExecutor,
final EventLogger eventLogger,
final LogRecorder logRecorder,
- final BrokerOptions brokerOptions,
+ final Map<String,Object> attributes,
final BrokerShutdownProvider brokerShutdownProvider)
{
- super(taskExecutor, eventLogger, logRecorder, brokerOptions, brokerShutdownProvider);
+ super(taskExecutor, eventLogger, logRecorder, attributes, brokerShutdownProvider);
}
@Override
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
index fb254f59ae..3d0fb90036 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
@@ -108,7 +108,7 @@ public class TestBrokerConfiguration
final AbstractSystemConfig parentObject = new JsonSystemConfigImpl(taskExecutor,
mock(EventLogger.class),
mock(LogRecorder.class),
- brokerOptions,
+ brokerOptions.convertToSystemConfigAttributes(),
mock(BrokerShutdownProvider.class));
ConfiguredObjectRecordConverter converter = new ConfiguredObjectRecordConverter(BrokerModel.getInstance());
@@ -219,7 +219,7 @@ public class TestBrokerConfiguration
final SystemConfig parentObject = configFactory.newInstance(_taskExecutor,
mock(EventLogger.class),
mock(LogRecorder.class),
- brokerOptions,
+ brokerOptions.convertToSystemConfigAttributes(),
mock(BrokerShutdownProvider.class));
parentObject.open();