diff options
Diffstat (limited to 'qpid/java/broker-plugins')
11 files changed, 151 insertions, 131 deletions
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java index 91e64e5334..0b31bdbc14 100644 --- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java +++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java @@ -33,13 +33,12 @@ import org.apache.qpid.server.model.AbstractConfiguredObject; import org.apache.qpid.server.model.AccessControlProvider; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ConfiguredObject; -import org.apache.qpid.server.model.IllegalStateTransitionException; import org.apache.qpid.server.model.ManagedAttributeField; import org.apache.qpid.server.model.ManagedObjectFactoryConstructor; import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.StateTransition; import org.apache.qpid.server.security.AccessControl; import org.apache.qpid.server.security.access.Operation; -import org.apache.qpid.server.util.MapValueConverter; public class ACLFileAccessControlProviderImpl extends AbstractConfiguredObject<ACLFileAccessControlProviderImpl> @@ -50,7 +49,7 @@ public class ACLFileAccessControlProviderImpl protected DefaultAccessControl _accessControl; protected final Broker _broker; - private AtomicReference<State> _state; + private AtomicReference<State> _state = new AtomicReference<>(State.UNINITIALIZED); @ManagedAttributeField private String _path; @@ -63,9 +62,6 @@ public class ACLFileAccessControlProviderImpl _broker = broker; - State state = MapValueConverter.getEnumAttribute(State.class, STATE, attributes, State.INITIALISING); - _state = new AtomicReference<State>(state); - } @Override @@ -108,81 +104,68 @@ public class ACLFileAccessControlProviderImpl } @Override - public Object getAttribute(String name) - { - if(STATE.equals(name)) - { - return getState(); - } - return super.getAttribute(name); - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz) { return Collections.emptySet(); } - @Override - public boolean setState(State desiredState) - throws IllegalStateTransitionException, AccessControlException - { - State state = _state.get(); - if(desiredState == State.DELETED) - { - deleted(); - return _state.compareAndSet(state, State.DELETED); - } - else if (desiredState == State.QUIESCED) + @StateTransition(currentState = {State.UNINITIALIZED, State.QUIESCED, State.ERRORED}, desiredState = State.ACTIVE) + private void activate() + { + if(_broker.isManagementMode()) { - return _state.compareAndSet(state, State.QUIESCED); + + _state.set(_accessControl.validate() ? State.QUIESCED : State.ERRORED); } - else if(desiredState == State.ACTIVE) + else { - if ((state == State.INITIALISING || state == State.QUIESCED) && _state.compareAndSet(state, State.ACTIVE)) + try + { + _accessControl.open(); + _state.set(State.ACTIVE); + } + catch (RuntimeException e) { - try + _state.set(State.ERRORED); + if (_broker.isManagementMode()) { - _accessControl.open(); - return true; + LOGGER.warn("Failed to activate ACL provider: " + getName(), e); } - catch(RuntimeException e) + else { - _state.compareAndSet(State.ACTIVE, State.ERRORED); - if (_broker.isManagementMode()) - { - LOGGER.warn("Failed to activate ACL provider: " + getName(), e); - } - else - { - throw e; - } + throw e; } } - else - { - throw new IllegalStateException("Can't activate access control provider in " + state + " state"); - } - } - else if(desiredState == State.STOPPED) - { - if(_state.compareAndSet(state, State.STOPPED)) - { - _accessControl.close(); - return true; - } - - return false; } - return false; } + @StateTransition(currentState = {State.ACTIVE, State.QUIESCED}, desiredState = State.STOPPED) + private void doStop() + { + close(); + _state.set(State.STOPPED); + } @Override - protected void changeAttributes(Map<String, Object> attributes) + protected void onClose() + { + super.onClose(); + _accessControl.close(); + } + + @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.QUIESCED) + private void startQuiesced() + { + _state.set(State.QUIESCED); + } + + @StateTransition(currentState = {State.ACTIVE, State.QUIESCED, State.STOPPED, State.ERRORED}, desiredState = State.DELETED) + private void doDelete() { - throw new UnsupportedOperationException("Changing attributes on AccessControlProvider is not supported"); + close(); + _state.set(State.DELETED); + deleted(); } @Override diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java index 5f5e12d435..c42dc88d53 100644 --- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java +++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java @@ -20,9 +20,9 @@ */ package org.apache.qpid.server.security.access.plugins; +import java.io.File; import java.net.InetAddress; import java.net.InetSocketAddress; -import java.io.File; import java.net.SocketAddress; import java.security.AccessController; import java.util.Set; @@ -31,12 +31,12 @@ import javax.security.auth.Subject; import org.apache.commons.lang.ObjectUtils; import org.apache.log4j.Logger; + import org.apache.qpid.server.configuration.IllegalConfigurationException; import org.apache.qpid.server.connection.ConnectionPrincipal; -import org.apache.qpid.server.logging.EventLogger; import org.apache.qpid.server.logging.EventLoggerProvider; -import org.apache.qpid.server.security.Result; import org.apache.qpid.server.security.AccessControl; +import org.apache.qpid.server.security.Result; import org.apache.qpid.server.security.access.ObjectProperties; import org.apache.qpid.server.security.access.ObjectType; import org.apache.qpid.server.security.access.Operation; @@ -73,7 +73,7 @@ public class DefaultAccessControl implements AccessControl { if(_aclFile != null) { - if (!_aclFile.exists()) + if (!validate()) { throw new IllegalConfigurationException("ACL file '" + _aclFile + "' is not found"); } @@ -84,6 +84,12 @@ public class DefaultAccessControl implements AccessControl } @Override + public boolean validate() + { + return _aclFile.exists(); + } + + @Override public void close() { //no-op @@ -101,7 +107,7 @@ public class DefaultAccessControl implements AccessControl if(_aclFile != null) { //verify it exists - if (!_aclFile.exists()) + if (!validate()) { throw new IllegalConfigurationException("ACL file '" + _aclFile + "' is not found"); } diff --git a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java index 01da01eb97..49697cf5b7 100644 --- a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java +++ b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java @@ -30,6 +30,7 @@ import java.util.UUID; import java.util.regex.Pattern; import org.apache.qpid.server.configuration.IllegalConfigurationException; +import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.AccessControlProvider; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.BrokerModel; @@ -53,6 +54,7 @@ public class ACLFileAccessControlProviderFactoryTest extends QpidTestCase when(_broker.getObjectFactory()).thenReturn(_objectFactory); when(_broker.getModel()).thenReturn(_objectFactory.getModel()); when(_broker.getCategoryClass()).thenReturn(Broker.class); + when(_broker.getTaskExecutor()).thenReturn(mock(TaskExecutor.class)); } public void testCreateInstanceWhenAclFileIsNotPresent() diff --git a/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java b/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java index ab58b80ac4..b65181966c 100644 --- a/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java +++ b/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java @@ -496,7 +496,7 @@ class ManagementNode implements MessageSource, MessageDestination responseHeader.setHeader(TYPE_ATTRIBUTE, type); try { - entity.setDesiredState(State.DELETED); + entity.delete(); responseHeader.setHeader(STATUS_CODE_HEADER, STATUS_CODE_NO_CONTENT); } catch(AccessControlException e) diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java index c1b2fc4bd6..881d359e9b 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java @@ -67,11 +67,12 @@ import org.apache.qpid.server.management.plugin.servlet.rest.UserPreferencesServ import org.apache.qpid.server.model.*; import org.apache.qpid.server.model.adapter.AbstractPluginAdapter; import org.apache.qpid.server.model.port.HttpPort; +import org.apache.qpid.server.model.port.PortManager; import org.apache.qpid.server.util.ServerScopedRuntimeException; import org.apache.qpid.transport.network.security.ssl.QpidMultipleTrustManager; @ManagedObject( category = false, type = "MANAGEMENT-HTTP" ) -public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implements HttpManagementConfiguration<HttpManagement> +public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implements HttpManagementConfiguration<HttpManagement>, PortManager { private final Logger _logger = Logger.getLogger(HttpManagement.class); @@ -106,29 +107,16 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem @ManagedAttributeField private int _sessionTimeout; + private boolean _allowPortActivation; + @ManagedObjectFactoryConstructor public HttpManagement(Map<String, Object> attributes, Broker broker) { super(attributes, broker); } - @Override - protected boolean setState(State desiredState) - { - if(desiredState == State.ACTIVE) - { - start(); - return true; - } - else if(desiredState == State.STOPPED) - { - stop(); - return true; - } - return false; - } - - private void start() + @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.ACTIVE) + private void doStart() { getBroker().getEventLogger().message(ManagementConsoleMessages.STARTUP(OPERATIONAL_LOGGING_NAME)); @@ -145,9 +133,18 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem } getBroker().getEventLogger().message(ManagementConsoleMessages.READY(OPERATIONAL_LOGGING_NAME)); + setCurrentState(State.ACTIVE); } - private void stop() + @StateTransition(currentState = State.ACTIVE, desiredState = State.STOPPED) + private void doStop() + { + close(); + setCurrentState(State.STOPPED); + } + + @Override + protected void onClose() { if (_server != null) { @@ -176,7 +173,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem { _logger.info("Starting up web server on " + ports); } - + _allowPortActivation = true; Server server = new Server(); int lastPort = -1; for (Port<?> port : ports) @@ -184,11 +181,16 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem if(port instanceof HttpPort) { - if (State.QUIESCED.equals(port.getState())) + if (!State.ACTIVE.equals(port.getDesiredState())) { continue; } + ((HttpPort<?>)port).setPortManager(this); + if(port.getState() != State.ACTIVE) + { + port.start(); + } Connector connector = null; Collection<Transport> transports = port.getTransports(); @@ -223,6 +225,8 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem } + _allowPortActivation = false; + ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS); root.setContextPath("/"); server.setHandler(root); @@ -435,6 +439,12 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem } @Override + public boolean isActivationAllowed(final Port<?> port) + { + return _allowPortActivation; + } + + @Override public boolean isHttpsSaslAuthenticationEnabled() { return _httpsSaslAuthenticationEnabled; diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java index 4bd28accb0..b261927ee7 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java @@ -43,7 +43,6 @@ import org.codehaus.jackson.map.SerializationConfig; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ConfiguredObject; -import org.apache.qpid.server.model.State; public class RestServlet extends AbstractServlet { @@ -541,7 +540,7 @@ public class RestServlet extends AbstractServlet Collection<ConfiguredObject<?>> allObjects = getObjects(request); for(ConfiguredObject o : allObjects) { - o.setDesiredState(State.DELETED); + o.delete(); } response.setStatus(HttpServletResponse.SC_OK); diff --git a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java index b747ee5435..52d7ba33a3 100644 --- a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java +++ b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java @@ -29,12 +29,15 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; +import org.apache.qpid.server.configuration.updater.TaskExecutor; +import org.apache.qpid.server.logging.EventLogger; 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.ConfiguredObject; import org.apache.qpid.server.model.ConfiguredObjectFactory; import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl; +import org.apache.qpid.server.model.State; import org.apache.qpid.test.utils.QpidTestCase; public class HttpManagementTest extends QpidTestCase @@ -54,6 +57,8 @@ public class HttpManagementTest extends QpidTestCase when(_broker.getObjectFactory()).thenReturn(objectFactory); when(_broker.getModel()).thenReturn(objectFactory.getModel()); when(_broker.getCategoryClass()).thenReturn(Broker.class); + when(_broker.getEventLogger()).thenReturn(mock(EventLogger.class)); + when(_broker.getTaskExecutor()).thenReturn(mock(TaskExecutor.class)); Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put(HttpManagement.HTTP_BASIC_AUTHENTICATION_ENABLED, false); @@ -63,6 +68,7 @@ public class HttpManagementTest extends QpidTestCase attributes.put(HttpManagement.NAME, getTestName()); attributes.put(HttpManagement.TIME_OUT, 10000l); attributes.put(ConfiguredObject.ID, _id); + attributes.put(HttpManagement.DESIRED_STATE, State.QUIESCED); _management = new HttpManagement(attributes, _broker); _management.open(); } diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java index 850c14cf20..d3b5b786e9 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java @@ -31,6 +31,7 @@ import java.util.Set; import javax.management.JMException; import org.apache.log4j.Logger; + import org.apache.qpid.server.configuration.IllegalConfigurationException; import org.apache.qpid.server.jmx.mbeans.LoggingManagementMBean; import org.apache.qpid.server.jmx.mbeans.ServerInformationMBean; @@ -48,15 +49,19 @@ import org.apache.qpid.server.model.PasswordCredentialManagingAuthenticationProv 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.StateTransition; import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.model.VirtualHostNode; import org.apache.qpid.server.model.adapter.AbstractPluginAdapter; +import org.apache.qpid.server.model.port.JmxPort; +import org.apache.qpid.server.model.port.PortManager; +import org.apache.qpid.server.model.port.RmiPort; import org.apache.qpid.server.plugin.QpidServiceLoader; -import org.apache.qpid.server.util.ServerScopedRuntimeException; public class JMXManagementPluginImpl extends AbstractPluginAdapter<JMXManagementPluginImpl> implements ConfigurationChangeListener, - JMXManagementPlugin<JMXManagementPluginImpl> + JMXManagementPlugin<JMXManagementPluginImpl>, + PortManager { private static final Logger LOGGER = Logger.getLogger(JMXManagementPluginImpl.class); @@ -81,55 +86,48 @@ public class JMXManagementPluginImpl @ManagedAttributeField private boolean _usePlatformMBeanServer; + private boolean _allowPortActivation; + @ManagedObjectFactoryConstructor public JMXManagementPluginImpl(Map<String, Object> attributes, Broker broker) { super(attributes, broker); } - @Override - protected boolean setState(State desiredState) - { - if(desiredState == State.ACTIVE) - { - try - { - start(); - } - catch (Exception e) - { - throw new ServerScopedRuntimeException("Couldn't start JMX management", e); - } - return true; - } - else if(desiredState == State.STOPPED) - { - stop(); - return true; - } - return false; - } - - private void start() throws JMException, IOException + @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.ACTIVE) + private void doStart() throws JMException, IOException { + _allowPortActivation = true; Broker<?> broker = getBroker(); - Port connectorPort = null; - Port registryPort = null; + JmxPort<?> connectorPort = null; + RmiPort registryPort = null; Collection<Port<?>> ports = broker.getPorts(); for (Port port : ports) { - if (State.QUIESCED.equals(port.getState())) + if (port.getDesiredState() != State.ACTIVE) { continue; } if(isRegistryPort(port)) { - registryPort = port; + registryPort = (RmiPort) port; + registryPort.setPortManager(this); + if(port.getState() != State.ACTIVE) + { + port.start(); + } + } else if(isConnectorPort(port)) { - connectorPort = port; + connectorPort = (JmxPort<?>) port; + connectorPort.setPortManager(this); + if(port.getState() != State.ACTIVE) + { + port.start(); + } + } } if(connectorPort == null) @@ -184,6 +182,14 @@ public class JMXManagementPluginImpl new LoggingManagementMBean(LoggingManagementFacade.getCurrentInstance(), _objectRegistry); } _objectRegistry.start(); + setCurrentState(State.ACTIVE); + _allowPortActivation = false; + } + + @Override + public boolean isActivationAllowed(final Port<?> port) + { + return _allowPortActivation; } @Override @@ -203,7 +209,15 @@ public class JMXManagementPluginImpl return port.getAvailableProtocols().contains(Protocol.RMI); } - private void stop() + @StateTransition( currentState = State.ACTIVE, desiredState = State.STOPPED ) + private void doStop() + { + close(); + setCurrentState(State.STOPPED); + } + + @Override + protected void onClose() { synchronized (_childrenLock) { diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/ManagedObjectRegistry.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/ManagedObjectRegistry.java index 26608d4309..ce4236661d 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/ManagedObjectRegistry.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/ManagedObjectRegistry.java @@ -20,12 +20,10 @@ */ package org.apache.qpid.server.jmx; -import org.apache.qpid.common.Closeable; +import java.io.IOException; import javax.management.JMException; -import java.io.IOException; - /** * Handles the registration (and unregistration and so on) of managed objects. * @@ -38,11 +36,13 @@ import java.io.IOException; * be the obvious choice for managed objects. * */ -public interface ManagedObjectRegistry extends Closeable +public interface ManagedObjectRegistry { void start() throws IOException; void registerObject(ManagedObject managedObject) throws JMException; void unregisterObject(ManagedObject managedObject) throws JMException; + + void close(); } diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java index 69b7dff117..bb2769d447 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java @@ -215,7 +215,7 @@ public class VirtualHostManagerMBean extends AbstractStatisticsGatheringMBean<Vi try { - exchange.delete(); + exchange.deleteWithChecks(); } catch(RequiredExchangeException e) { @@ -291,7 +291,7 @@ public class VirtualHostManagerMBean extends AbstractStatisticsGatheringMBean<Vi { throw new OperationsException("No such queue \""+ queueName +"\""); } - queue.delete(); + queue.deleteAndReturnCount(); } @Override diff --git a/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java b/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java index 8f2418ddf3..bbb64e1879 100644 --- a/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java +++ b/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java @@ -125,7 +125,7 @@ public class VirtualHostManagerMBeanTest extends TestCase when(_mockVirtualHost.getChildByName(eq(Queue.class), eq(QUEUE_1_NAME))).thenReturn(mockQueue); _virtualHostManagerMBean.deleteQueue(QUEUE_1_NAME); - verify(mockQueue).delete(); + verify(mockQueue).deleteAndReturnCount(); } public void testDeleteQueueWhenQueueDoesNotExist() throws Exception @@ -145,7 +145,7 @@ public class VirtualHostManagerMBeanTest extends TestCase // PASS assertEquals("No such queue \"unknownqueue\"", oe.getMessage()); } - verify(mockQueue, never()).delete(); + verify(mockQueue, never()).deleteAndReturnCount(); } public void testCreateNewDurableExchange() throws Exception @@ -182,7 +182,7 @@ public class VirtualHostManagerMBeanTest extends TestCase _virtualHostManagerMBean.unregisterExchange(EXCHANGE_1_NAME); - verify(mockExchange).delete(); + verify(mockExchange).deleteWithChecks(); } public void testUnregisterExchangeWhenExchangeDoesNotExist() throws Exception @@ -203,7 +203,7 @@ public class VirtualHostManagerMBeanTest extends TestCase assertEquals("No such exchange \"unknownexchange\"", oe.getMessage()); } - verify(mockExchange, never()).delete(); + verify(mockExchange, never()).deleteWithChecks(); } private static Map<String,Object> matchesMap(final String name, |
