You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/12/07 22:19:21 UTC

svn commit: r1643719 - in /qpid/trunk/qpid/java: broker-core/src/main/java/org/apache/qpid/server/ broker-core/src/main/java/org/apache/qpid/server/logging/ broker-core/src/main/java/org/apache/qpid/server/model/ broker-core/src/main/java/org/apache/qp...

Author: rgodfrey
Date: Sun Dec  7 21:19:21 2014
New Revision: 1643719

URL: http://svn.apache.org/r1643719
Log:
QPID-6263 : [Java Broker] Move startup/recovery logic from server.Broker to SystemConfig

Modified:
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLogger.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
    qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java?rev=1643719&r1=1643718&r2=1643719&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java Sun Dec  7 21:19:21 2014
@@ -33,11 +33,9 @@ import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
 import org.apache.log4j.PropertyConfigurator;
 
-import org.apache.qpid.common.QpidProperties;
 import org.apache.qpid.server.configuration.BrokerProperties;
 import org.apache.qpid.server.configuration.updater.TaskExecutor;
 import org.apache.qpid.server.configuration.updater.TaskExecutorImpl;
-import org.apache.qpid.server.logging.CompositeStartupMessageLogger;
 import org.apache.qpid.server.logging.EventLogger;
 import org.apache.qpid.server.logging.Log4jMessageLogger;
 import org.apache.qpid.server.logging.LogRecorder;
@@ -46,14 +44,11 @@ import org.apache.qpid.server.logging.Sy
 import org.apache.qpid.server.logging.log4j.LoggingManagementFacade;
 import org.apache.qpid.server.logging.messages.BrokerMessages;
 import org.apache.qpid.server.model.BrokerShutdownProvider;
-import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.SystemConfig;
 import org.apache.qpid.server.plugin.PluggableFactoryLoader;
 import org.apache.qpid.server.plugin.SystemConfigFactory;
 import org.apache.qpid.server.security.SecurityManager;
-import org.apache.qpid.server.store.BrokerStoreUpgraderAndRecoverer;
-import org.apache.qpid.server.store.DurableConfigurationStore;
-import org.apache.qpid.util.SystemUtils;
+import org.apache.qpid.server.util.Action;
 
 public class Broker implements BrokerShutdownProvider
 {
@@ -63,23 +58,20 @@ public class Broker implements BrokerShu
     private EventLogger _eventLogger;
     private boolean _configuringOwnLogging = false;
     private final TaskExecutor _taskExecutor = new TaskExecutorImpl();
-    private final boolean _exitJVMOnShutdownWithNonZeroExitCode;
 
     private SystemConfig _systemConfig;
 
-    private org.apache.qpid.server.model.Broker _broker;
-
-    private DurableConfigurationStore _store;
+    private final Action<Integer> _shutdownAction;
 
 
     public Broker()
     {
-        this(false);
+        this(null);
     }
 
-    public Broker(boolean exitJVMOnShutdownWithNonZeroExitCode)
+    public Broker(Action<Integer> shutdownAction)
     {
-        this._exitJVMOnShutdownWithNonZeroExitCode = exitJVMOnShutdownWithNonZeroExitCode;
+        _shutdownAction = shutdownAction;
     }
 
     protected static class InitException extends RuntimeException
@@ -108,22 +100,10 @@ public class Broker implements BrokerShu
         {
             try
             {
-                try
-                {
-                    if (_broker != null)
-                    {
-                        _broker.close();
-                    }
-                }
-                finally
+                if(_systemConfig != null)
                 {
-                    if(_systemConfig != null)
-                    {
-                        _systemConfig.close();
-                    }
+                    _systemConfig.close();
                 }
-                _store = null;
-                _broker = null;
                 _taskExecutor.stop();
 
             }
@@ -134,9 +114,9 @@ public class Broker implements BrokerShu
                     LogManager.shutdown();
                 }
 
-                if (_exitJVMOnShutdownWithNonZeroExitCode && exitStatusCode != 0)
+                if (_shutdownAction != null)
                 {
-                    System.exit(exitStatusCode);
+                    _shutdownAction.performAction(exitStatusCode);
                 }
             }
         }
@@ -178,6 +158,10 @@ public class Broker implements BrokerShu
         {
             configureLogging(new File(options.getLogConfigFileLocation()), options.getLogWatchFrequency());
         }
+        // Create the RootLogger to be used during broker operation
+        boolean statusUpdatesEnabled = Boolean.parseBoolean(System.getProperty(BrokerProperties.PROPERTY_STATUS_UPDATES, "true"));
+        MessageLogger messageLogger = new Log4jMessageLogger(statusUpdatesEnabled);
+        _eventLogger.setMessageLogger(messageLogger);
 
 
         PluggableFactoryLoader<SystemConfigFactory> configFactoryLoader = new PluggableFactoryLoader<>(SystemConfigFactory.class);
@@ -194,66 +178,16 @@ public class Broker implements BrokerShu
 
         _taskExecutor.start();
         _systemConfig = configFactory.newInstance(_taskExecutor, _eventLogger, logRecorder, options.convertToSystemConfigAttributes(), this);
-        _systemConfig.open();
-        _store = _systemConfig.getConfigurationStore();
-
         try
         {
-            // Create the RootLogger to be used during broker operation
-            boolean statusUpdatesEnabled = Boolean.parseBoolean(System.getProperty(BrokerProperties.PROPERTY_STATUS_UPDATES, "true"));
-            MessageLogger messageLogger = new Log4jMessageLogger(statusUpdatesEnabled);
-            final EventLogger eventLogger = _systemConfig.getEventLogger();
-            eventLogger.setMessageLogger(messageLogger);
-
-            //Create the composite (log4j+SystemOut MessageLogger to be used during startup
-            MessageLogger[] messageLoggers = {new SystemOutMessageLogger(), messageLogger};
-
-            CompositeStartupMessageLogger startupMessageLogger = new CompositeStartupMessageLogger(messageLoggers);
-            EventLogger startupLogger = new EventLogger(startupMessageLogger);
-
-            startupLogger.message(BrokerMessages.STARTUP(QpidProperties.getReleaseVersion(),
-                                                         QpidProperties.getBuildVersion()));
-
-            startupLogger.message(BrokerMessages.PLATFORM(System.getProperty("java.vendor"),
-                                                          System.getProperty("java.runtime.version",
-                                                                             System.getProperty("java.version")),
-                                                          SystemUtils.getOSName(),
-                                                          SystemUtils.getOSVersion(),
-                                                          SystemUtils.getOSArch()));
-
-            startupLogger.message(BrokerMessages.MAX_MEMORY(Runtime.getRuntime().maxMemory()));
-
-            BrokerStoreUpgraderAndRecoverer upgrader = new BrokerStoreUpgraderAndRecoverer(_systemConfig);
-            org.apache.qpid.server.model.Broker broker = upgrader.perform(_store);
-            _broker = broker;
-
-            broker.setEventLogger(startupLogger);
-            broker.open();
-
-            if (broker.getState() == State.ACTIVE)
-            {
-                startupLogger.message(BrokerMessages.READY());
-                broker.setEventLogger(eventLogger);
-            }
+            _systemConfig.open();
         }
-        catch(Exception e)
+        catch(RuntimeException e)
         {
             LOGGER.fatal("Exception during startup", e);
             try
             {
-                try
-                {
-                    if (_broker != null)
-                    {
-                        _broker.close();
-                    }
-                }
-                finally
-                {
-                    _systemConfig.close();
-                }
-                _store = null;
-                _broker = null;
+                _systemConfig.close();
             }
             catch(Exception ce)
             {

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLogger.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLogger.java?rev=1643719&r1=1643718&r2=1643719&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLogger.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLogger.java Sun Dec  7 21:19:21 2014
@@ -59,4 +59,9 @@ public class EventLogger
     {
         _messageLogger = messageLogger;
     }
+
+    public MessageLogger getMessageLogger()
+    {
+        return _messageLogger;
+    }
 }

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1643719&r1=1643718&r2=1643719&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Sun Dec  7 21:19:21 2014
@@ -556,9 +556,14 @@ public abstract class AbstractConfigured
     {
     }
 
+    protected boolean rethrowRuntimeExceptionsOnOpen()
+    {
+        return false;
+    }
+
     protected final void handleExceptionOnOpen(RuntimeException e)
     {
-        if (e instanceof ServerScopedRuntimeException)
+        if (rethrowRuntimeExceptionsOnOpen() || e instanceof ServerScopedRuntimeException)
         {
             throw e;
         }

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java?rev=1643719&r1=1643718&r2=1643719&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java Sun Dec  7 21:19:21 2014
@@ -31,15 +31,21 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
 
+import org.apache.qpid.common.QpidProperties;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.configuration.store.ManagementModeStoreHandler;
 import org.apache.qpid.server.configuration.updater.TaskExecutor;
+import org.apache.qpid.server.logging.CompositeStartupMessageLogger;
 import org.apache.qpid.server.logging.EventLogger;
 import org.apache.qpid.server.logging.LogRecorder;
+import org.apache.qpid.server.logging.MessageLogger;
+import org.apache.qpid.server.logging.SystemOutMessageLogger;
 import org.apache.qpid.server.logging.messages.BrokerMessages;
+import org.apache.qpid.server.store.BrokerStoreUpgraderAndRecoverer;
 import org.apache.qpid.server.store.ConfiguredObjectRecord;
 import org.apache.qpid.server.store.ConfiguredObjectRecordConverter;
 import org.apache.qpid.server.store.DurableConfigurationStore;
+import org.apache.qpid.util.SystemUtils;
 
 public abstract class AbstractSystemConfig<X extends SystemConfig<X>>
         extends AbstractConfiguredObject<X> implements SystemConfig<X>
@@ -72,6 +78,9 @@ public abstract class AbstractSystemConf
     @ManagedAttributeField
     private String _initialConfigurationLocation;
 
+    @ManagedAttributeField
+    private boolean _startupLoggedToSystemOut;
+
 
     public AbstractSystemConfig(final TaskExecutor taskExecutor,
                                 final EventLogger eventLogger,
@@ -103,12 +112,6 @@ public abstract class AbstractSystemConf
     }
 
     @Override
-    public State getState()
-    {
-        return State.ACTIVE;
-    }
-
-    @Override
     public EventLogger getEventLogger()
     {
         return _eventLogger;
@@ -176,9 +179,9 @@ public abstract class AbstractSystemConf
         try
         {
             _configurationStore.openConfigurationStore(this,
-                                          false,
-                                          convertToConfigurationRecords(getInitialConfigurationLocation(),
-                                                                        this));
+                                                       false,
+                                                       convertToConfigurationRecords(getInitialConfigurationLocation(),
+                                                                                     this));
             _configurationStore.upgradeStoreStructure();
         }
         catch (IOException e)
@@ -186,6 +189,61 @@ public abstract class AbstractSystemConf
             throw new IllegalArgumentException(e);
         }
 
+
+
+    }
+
+    @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.ACTIVE)
+    protected void activate()
+    {
+        final EventLogger eventLogger = _eventLogger;
+
+        EventLogger startupLogger;
+        if (isStartupLoggedToSystemOut())
+        {
+            //Create the composite (logging+SystemOut MessageLogger to be used during startup
+            MessageLogger[] messageLoggers = {new SystemOutMessageLogger(), eventLogger.getMessageLogger()};
+
+            CompositeStartupMessageLogger startupMessageLogger = new CompositeStartupMessageLogger(messageLoggers);
+            startupLogger = new EventLogger(startupMessageLogger);
+        }
+        else
+        {
+            startupLogger = eventLogger;
+        }
+
+        startupLogger.message(BrokerMessages.STARTUP(QpidProperties.getReleaseVersion(),
+                                                     QpidProperties.getBuildVersion()));
+
+        startupLogger.message(BrokerMessages.PLATFORM(System.getProperty("java.vendor"),
+                                                      System.getProperty("java.runtime.version",
+                                                                         System.getProperty("java.version")),
+                                                      SystemUtils.getOSName(),
+                                                      SystemUtils.getOSVersion(),
+                                                      SystemUtils.getOSArch()));
+
+        startupLogger.message(BrokerMessages.MAX_MEMORY(Runtime.getRuntime().maxMemory()));
+
+        BrokerStoreUpgraderAndRecoverer upgrader = new BrokerStoreUpgraderAndRecoverer(this);
+        upgrader.perform();
+
+        Broker broker = getBroker();
+
+        broker.setEventLogger(startupLogger);
+        broker.open();
+
+        if (broker.getState() == State.ACTIVE)
+        {
+            startupLogger.message(BrokerMessages.READY());
+            broker.setEventLogger(eventLogger);
+        }
+
+    }
+
+    @Override
+    protected final boolean rethrowRuntimeExceptionsOnOpen()
+    {
+        return true;
     }
 
     abstract protected DurableConfigurationStore createStoreObject();
@@ -275,4 +333,10 @@ public abstract class AbstractSystemConf
     {
         return _brokerShutdownProvider;
     }
+
+    @Override
+    public boolean isStartupLoggedToSystemOut()
+    {
+        return _startupLoggedToSystemOut;
+    }
 }

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java?rev=1643719&r1=1643718&r2=1643719&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java Sun Dec  7 21:19:21 2014
@@ -35,7 +35,8 @@ public interface SystemConfig<X extends
     String MANAGEMENT_MODE_HTTP_PORT_OVERRIDE = "managementModeHttpPortOverride";
     String MANAGEMENT_MODE_PASSWORD = "managementModePassword";
     String INITIAL_CONFIGURATION_LOCATION = "initialConfigurationLocation";
-    
+    String STARTUP_LOGGED_TO_SYSTEM_OUT = "startupLoggedToSystemOut";
+
     @ManagedAttribute(defaultValue = "false")
     boolean isManagementMode();
 
@@ -57,6 +58,8 @@ public interface SystemConfig<X extends
     @ManagedAttribute
     String getInitialConfigurationLocation();
 
+    @ManagedAttribute(defaultValue = "true")
+    boolean isStartupLoggedToSystemOut();
 
     EventLogger getEventLogger();
 

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java?rev=1643719&r1=1643718&r2=1643719&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java Sun Dec  7 21:19:21 2014
@@ -604,8 +604,9 @@ public class BrokerStoreUpgraderAndRecov
         return brokerRecord;
     }
 
-    public Broker<?> perform(final DurableConfigurationStore store)
+    public Broker<?> perform()
     {
+        final DurableConfigurationStore store = _systemConfig.getConfigurationStore();
         List<ConfiguredObjectRecord> upgradedRecords = upgrade(store);
         new GenericRecoverer(_systemConfig).recover(upgradedRecords);
 

Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java?rev=1643719&r1=1643718&r2=1643719&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java Sun Dec  7 21:19:21 2014
@@ -44,8 +44,10 @@ import org.apache.qpid.server.configurat
 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.AbstractSystemConfig;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.BrokerShutdownProvider;
+import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.JsonSystemConfigImpl;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.Protocol;
@@ -87,7 +89,8 @@ public class ManagementModeStoreHandlerT
 
 
 
-        _root = new ConfiguredObjectRecordImpl(_rootId, Broker.class.getSimpleName(), Collections.<String,Object>emptyMap(), Collections.singletonMap(SystemConfig.class.getSimpleName(), systemContextRecord.getId()));
+        _root = new ConfiguredObjectRecordImpl(_rootId, Broker.class.getSimpleName(), Collections.singletonMap(Broker.NAME,
+                                                                                                               (Object) "broker"), Collections.singletonMap(SystemConfig.class.getSimpleName(), systemContextRecord.getId()));
 
         _portEntry = mock(ConfiguredObjectRecord.class);
         when(_portEntry.getId()).thenReturn(_portEntryId);
@@ -120,11 +123,30 @@ public class ManagementModeStoreHandlerT
     private ManagementModeStoreHandler createManagementModeStoreHandler()
     {
         _systemConfig.close();
-        _systemConfig = new JsonSystemConfigImpl(_taskExecutor,
-                                                                     mock(EventLogger.class),
-                                                                     mock(LogRecorder.class),
-                                                                     _options.convertToSystemConfigAttributes(),
-                                                                     mock(BrokerShutdownProvider.class));
+        Map<String, Object> attributes = new HashMap<>(_options.convertToSystemConfigAttributes());
+        attributes.put(ConfiguredObject.DESIRED_STATE, State.QUIESCED);
+        _systemConfig = new AbstractSystemConfig(_taskExecutor,
+                                                 mock(EventLogger.class),
+                                                 mock(LogRecorder.class),
+                                                 attributes,
+                                                 mock(BrokerShutdownProvider.class))
+        {
+            @Override
+            protected void onOpen()
+            {
+            }
+
+            @Override
+            protected DurableConfigurationStore createStoreObject()
+            {
+                return _store;
+            }
+
+            @Override
+            protected void onClose()
+            {
+            }
+        };
         _systemConfig.open();
         return new ManagementModeStoreHandler(_store, _systemConfig);
     }

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=1643719&r1=1643718&r2=1643719&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 Sun Dec  7 21:19:21 2014
@@ -41,6 +41,7 @@ import org.apache.log4j.Logger;
 import org.apache.qpid.common.QpidProperties;
 import org.apache.qpid.framing.ProtocolVersion;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.util.Action;
 import org.apache.qpid.util.FileUtils;
 
 /**
@@ -454,7 +455,17 @@ public class Main
 
     protected void startBroker(final BrokerOptions options) throws Exception
     {
-        Broker broker = new Broker(true);
+        Broker broker = new Broker(new Action<Integer>()
+                                    {
+                                        @Override
+                                        public void performAction(final Integer exitStatusCode)
+                                        {
+                                            if (exitStatusCode != 0)
+                                            {
+                                                shutdown(exitStatusCode);
+                                            }
+                                        }
+                                    });
         broker.startup(options);
     }
 

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java?rev=1643719&r1=1643718&r2=1643719&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java Sun Dec  7 21:19:21 2014
@@ -44,21 +44,7 @@ import org.apache.qpid.server.BrokerOpti
 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.AbstractSystemConfig;
-import org.apache.qpid.server.model.AccessControlProvider;
-import org.apache.qpid.server.model.AuthenticationProvider;
-import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.BrokerModel;
-import org.apache.qpid.server.model.BrokerShutdownProvider;
-import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.GroupProvider;
-import org.apache.qpid.server.model.JsonSystemConfigImpl;
-import org.apache.qpid.server.model.Plugin;
-import org.apache.qpid.server.model.PreferencesProvider;
-import org.apache.qpid.server.model.SystemConfig;
-import org.apache.qpid.server.model.UUIDGenerator;
-import org.apache.qpid.server.model.VirtualHostAlias;
-import org.apache.qpid.server.model.VirtualHostNode;
+import org.apache.qpid.server.model.*;
 import org.apache.qpid.server.model.adapter.FileBasedGroupProvider;
 import org.apache.qpid.server.model.adapter.FileBasedGroupProviderImpl;
 import org.apache.qpid.server.plugin.PluggableFactoryLoader;
@@ -216,10 +202,13 @@ public class TestBrokerConfiguration
         SystemConfigFactory configFactory =
                 (new PluggableFactoryLoader<>(SystemConfigFactory.class)).get(_storeType);
 
+        Map<String, Object> attributes = new HashMap<>(brokerOptions.convertToSystemConfigAttributes());
+        attributes.put(SystemConfig.STARTUP_LOGGED_TO_SYSTEM_OUT, false);
+        attributes.put(ConfiguredObject.DESIRED_STATE, State.QUIESCED);
         final SystemConfig parentObject = configFactory.newInstance(_taskExecutor,
                                                                    mock(EventLogger.class),
                                                                    mock(LogRecorder.class),
-                                                                   brokerOptions.convertToSystemConfigAttributes(),
+                                                                   attributes,
                                                                    mock(BrokerShutdownProvider.class));
 
         parentObject.open();
@@ -252,6 +241,7 @@ public class TestBrokerConfiguration
 
         configurationStore.openConfigurationStore(parentObject,true,initialRecords.toArray(new ConfiguredObjectRecord[initialRecords.size()]));
         configurationStore.closeConfigurationStore();
+        parentObject.close();
         return true;
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org