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/04/17 03:07:36 UTC
svn commit: r1588126 [3/3] - in /qpid/trunk/qpid/java:
bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/
bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/
broker-core/src/main/java/org/apache/qpid/server/ broker-core/src/mai...
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java Thu Apr 17 01:07:34 2014
@@ -39,7 +39,6 @@ import org.mockito.stubbing.Answer;
import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.server.configuration.BrokerProperties;
-import org.apache.qpid.server.exchange.DefaultExchangeFactory;
import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.LifetimePolicy;
@@ -237,7 +236,7 @@ public class AMQQueueFactoryTest extends
{
String queueName = "testDeadLetterQueueEnabled";
- String dlExchangeName = queueName + DefaultExchangeFactory.DEFAULT_DLE_NAME_SUFFIX;
+ String dlExchangeName = queueName + VirtualHostImpl.DEFAULT_DLE_NAME_SUFFIX;
String dlQueueName = queueName + AMQQueueFactory.DEFAULT_DLQ_NAME_SUFFIX;
assertNull("The DLQ should not yet exist", _virtualHost.getQueue(dlQueueName));
@@ -277,7 +276,7 @@ public class AMQQueueFactoryTest extends
{
String queueName = "testDeadLetterQueueEnabled";
- String dlExchangeName = queueName + DefaultExchangeFactory.DEFAULT_DLE_NAME_SUFFIX;
+ String dlExchangeName = queueName + VirtualHostImpl.DEFAULT_DLE_NAME_SUFFIX;
String dlQueueName = queueName + AMQQueueFactory.DEFAULT_DLQ_NAME_SUFFIX;
assertNull("The DLQ should not yet exist", _virtualHost.getQueue(dlQueueName));
@@ -320,7 +319,7 @@ public class AMQQueueFactoryTest extends
String queueName = "testDeadLetterQueueDisabled";
- String dlExchangeName = queueName + DefaultExchangeFactory.DEFAULT_DLE_NAME_SUFFIX;
+ String dlExchangeName = queueName + VirtualHostImpl.DEFAULT_DLE_NAME_SUFFIX;
String dlQueueName = queueName + AMQQueueFactory.DEFAULT_DLQ_NAME_SUFFIX;
assertNull("The DLQ should not yet exist", _virtualHost.getQueue(dlQueueName));
@@ -350,7 +349,7 @@ public class AMQQueueFactoryTest extends
{
String queueName = "testDeadLetterQueueNotCreatedForAutodeleteQueues";
- String dlExchangeName = queueName + DefaultExchangeFactory.DEFAULT_DLE_NAME_SUFFIX;
+ String dlExchangeName = queueName + VirtualHostImpl.DEFAULT_DLE_NAME_SUFFIX;
String dlQueueName = queueName + AMQQueueFactory.DEFAULT_DLQ_NAME_SUFFIX;
assertNull("The DLQ should not yet exist", _virtualHost.getQueue(dlQueueName));
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java Thu Apr 17 01:07:34 2014
@@ -44,6 +44,7 @@ public class StandardQueueTest extends A
public void testAutoDeleteQueue() throws Exception
{
getQueue().stop();
+ getQueue().delete();
Map<String,Object> queueAttributes = new HashMap<String, Object>();
queueAttributes.put(Queue.ID, UUID.randomUUID());
queueAttributes.put(Queue.NAME, getQname());
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java Thu Apr 17 01:07:34 2014
@@ -21,24 +21,33 @@
package org.apache.qpid.server.util;
import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.net.SocketAddress;
+import java.security.PrivilegedAction;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
+import javax.security.auth.Subject;
+
+import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.configuration.store.JsonConfigurationEntryStore;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
-import org.apache.qpid.server.exchange.DefaultExchangeFactory;
import org.apache.qpid.server.exchange.ExchangeImpl;
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.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
+import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.State;
+import org.apache.qpid.server.model.SystemContext;
+import org.apache.qpid.server.model.SystemContextImpl;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.protocol.AMQConnectionModel;
@@ -46,6 +55,7 @@ import org.apache.qpid.server.protocol.A
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.security.SubjectCreator;
+import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.TestMemoryMessageStore;
import org.apache.qpid.server.virtualhost.AbstractVirtualHost;
@@ -68,6 +78,7 @@ public class BrokerTestHelper
public static Broker createBrokerMock()
{
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
SubjectCreator subjectCreator = mock(SubjectCreator.class);
when(subjectCreator.getMechanisms()).thenReturn("");
Broker broker = mock(Broker.class);
@@ -77,7 +88,9 @@ public class BrokerTestHelper
when(broker.getSubjectCreator(any(SocketAddress.class))).thenReturn(subjectCreator);
when(broker.getVirtualHostRegistry()).thenReturn(new VirtualHostRegistry(new EventLogger()));
when(broker.getSecurityManager()).thenReturn(new SecurityManager(mock(Broker.class), false));
+ when(broker.getObjectFactory()).thenReturn(objectFactory);
when(broker.getEventLogger()).thenReturn(new EventLogger());
+ when(broker.getCategoryClass()).thenReturn(Broker.class);
return broker;
}
@@ -94,14 +107,20 @@ public class BrokerTestHelper
{
//VirtualHostFactory factory = new PluggableFactoryLoader<VirtualHostFactory>(VirtualHostFactory.class).get(hostType);
-
+ SystemContext systemContext = new SystemContextImpl(TASK_EXECUTOR,
+ new ConfiguredObjectFactoryImpl(Model.getInstance()),
+ mock(EventLogger.class),
+ mock(LogRecorder.class),
+ new BrokerOptions());
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
Broker broker = mock(Broker.class);
+ when(broker.getParent(eq(SystemContext.class))).thenReturn(systemContext);
when(broker.getVirtualHostRegistry()).thenReturn(virtualHostRegistry);
when(broker.getTaskExecutor()).thenReturn(TASK_EXECUTOR);
SecurityManager securityManager = new SecurityManager(broker, false);
when(broker.getSecurityManager()).thenReturn(securityManager);
-
- ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactory(Model.getInstance());
+ when(broker.getCategoryClass()).thenReturn(Broker.class);
+ when(broker.getObjectFactory()).thenReturn(objectFactory);
ConfiguredObjectTypeFactory factory = objectFactory.getConfiguredObjectTypeFactory(org.apache.qpid.server.model.VirtualHost.class,
attributes);
@@ -165,17 +184,29 @@ public class BrokerTestHelper
public static ExchangeImpl createExchange(String hostName, final boolean durable, final EventLogger eventLogger) throws Exception
{
SecurityManager securityManager = new SecurityManager(mock(Broker.class), false);
- VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
+ final VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
when(virtualHost.getName()).thenReturn(hostName);
when(virtualHost.getSecurityManager()).thenReturn(securityManager);
when(virtualHost.getEventLogger()).thenReturn(eventLogger);
- DefaultExchangeFactory factory = new DefaultExchangeFactory(virtualHost);
- Map<String,Object> attributes = new HashMap<String, Object>();
+ when(virtualHost.getDurableConfigurationStore()).thenReturn(mock(DurableConfigurationStore.class));
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
+ final Map<String,Object> attributes = new HashMap<String, Object>();
attributes.put(org.apache.qpid.server.model.Exchange.ID, UUIDGenerator.generateExchangeUUID("amp.direct", virtualHost.getName()));
attributes.put(org.apache.qpid.server.model.Exchange.NAME, "amq.direct");
attributes.put(org.apache.qpid.server.model.Exchange.TYPE, "direct");
attributes.put(org.apache.qpid.server.model.Exchange.DURABLE, durable);
- return factory.createExchange(attributes);
+ final ConfiguredObjectTypeFactory<? extends Exchange> exchangeFactory =
+ objectFactory.getConfiguredObjectTypeFactory(Exchange.class, attributes);
+ return Subject.doAs(SecurityManager.getSubjectWithAddedSystemRights(), new PrivilegedAction<ExchangeImpl>()
+ {
+ @Override
+ public ExchangeImpl run()
+ {
+
+ return (ExchangeImpl) exchangeFactory.create(attributes, virtualHost);
+ }
+ });
+
}
public static AMQQueue createQueue(String queueName, VirtualHostImpl virtualHost)
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java Thu Apr 17 01:07:34 2014
@@ -20,6 +20,15 @@
*/
package org.apache.qpid.server.virtualhost;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.Matchers.anyMap;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -28,43 +37,39 @@ import java.util.LinkedHashMap;
import java.util.Map;
import java.util.UUID;
-import org.apache.qpid.server.exchange.ExchangeImpl;
-import org.apache.qpid.server.logging.EventLogger;
-import org.apache.qpid.server.store.ConfiguredObjectRecordImpl;
-import org.apache.qpid.server.store.StoreException;
+import org.mockito.ArgumentCaptor;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
import org.apache.qpid.server.configuration.IllegalConfigurationException;
-import org.apache.qpid.server.exchange.AMQUnknownExchangeType;
import org.apache.qpid.server.exchange.DirectExchange;
-import org.apache.qpid.server.exchange.ExchangeFactory;
-import org.apache.qpid.server.exchange.ExchangeRegistry;
-import org.apache.qpid.server.exchange.FanoutExchange;
+import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.exchange.HeadersExchange;
import org.apache.qpid.server.exchange.TopicExchange;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.Binding;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Queue;
+import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.queue.QueueFactory;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
+import org.apache.qpid.server.store.ConfiguredObjectRecordImpl;
import org.apache.qpid.server.store.DurableConfigurationRecoverer;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.DurableConfiguredObjectRecoverer;
+import org.apache.qpid.server.store.StoreException;
+import org.apache.qpid.server.store.UnresolvedConfiguredObject;
import org.apache.qpid.server.util.MapValueConverter;
import org.apache.qpid.test.utils.QpidTestCase;
-import org.mockito.ArgumentCaptor;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
public class DurableConfigurationRecovererTest extends QpidTestCase
{
@@ -76,50 +81,55 @@ public class DurableConfigurationRecover
private static final String CUSTOM_EXCHANGE_NAME = "customExchange";
private DurableConfigurationRecoverer _durableConfigurationRecoverer;
- private ExchangeImpl<?> _directExchange;
- private ExchangeImpl<?> _topicExchange;
- private ExchangeImpl<?> _matchExchange;
- private ExchangeImpl<?> _fanoutExchange;
private VirtualHostImpl _vhost;
private DurableConfigurationStore _store;
- private ExchangeFactory _exchangeFactory;
- private ExchangeRegistry _exchangeRegistry;
private QueueFactory _queueFactory;
+ private ConfiguredObjectFactory _configuredObjectFactory;
+ private ConfiguredObjectTypeFactory _exchangeFactory;
@Override
public void setUp() throws Exception
{
super.setUp();
-
- _exchangeFactory = mock(ExchangeFactory.class);
-
- _directExchange = createAndRegisterDefaultExchangeWithFactory(DirectExchange.TYPE);
- _topicExchange = createAndRegisterDefaultExchangeWithFactory(TopicExchange.TYPE);
- _matchExchange = createAndRegisterDefaultExchangeWithFactory(HeadersExchange.TYPE);
- _fanoutExchange = createAndRegisterDefaultExchangeWithFactory(FanoutExchange.TYPE);
+ _configuredObjectFactory = mock(ConfiguredObjectFactory.class);
+ _exchangeFactory = mock(ConfiguredObjectTypeFactory.class);
AMQQueue<?> queue = mock(AMQQueue.class);
_vhost = mock(VirtualHostImpl.class);
when(_vhost.getName()).thenReturn(VIRTUAL_HOST_NAME);
-
- _exchangeRegistry = mock(ExchangeRegistry.class);
+ final Broker<?> broker = mock(Broker.class);
+ final SystemContext systemContext = mock(SystemContext.class);
+ when(systemContext.getObjectFactory()).thenReturn(_configuredObjectFactory);
+ when(broker.getObjectFactory()).thenReturn(_configuredObjectFactory);
+ when(broker.getParent(eq(SystemContext.class))).thenReturn(systemContext);
+ when(_vhost.getParent(eq(Broker.class))).thenReturn(broker);
when(_vhost.getQueue(eq(QUEUE_ID))).thenReturn(queue);
- final ArgumentCaptor<ExchangeImpl> registeredExchange = ArgumentCaptor.forClass(ExchangeImpl.class);
+ when(_configuredObjectFactory.getConfiguredObjectTypeFactory(eq(Exchange.class), anyMap())).thenReturn(_exchangeFactory);
+
+ final ArgumentCaptor<ConfiguredObjectRecord> recoveredExchange = ArgumentCaptor.forClass(ConfiguredObjectRecord.class);
doAnswer(new Answer()
{
@Override
public Object answer(final InvocationOnMock invocation) throws Throwable
{
- ExchangeImpl exchange = registeredExchange.getValue();
- when(_exchangeRegistry.getExchange(eq(exchange.getId()))).thenReturn(exchange);
- when(_exchangeRegistry.getExchange(eq(exchange.getName()))).thenReturn(exchange);
- return null;
+ ConfiguredObjectRecord exchangeRecord = recoveredExchange.getValue();
+ ExchangeImpl exchange = mock(ExchangeImpl.class);
+ UUID id = exchangeRecord.getId();
+ String name = (String) exchangeRecord.getAttributes().get("name");
+ when(exchange.getId()).thenReturn(id);
+ when(exchange.getName()).thenReturn(name);
+ when(_vhost.getExchange(eq(id))).thenReturn(exchange);
+ when(_vhost.getExchange(eq(name))).thenReturn(exchange);
+
+ UnresolvedConfiguredObject unresolved = mock(UnresolvedConfiguredObject.class);
+ when(unresolved.resolve()).thenReturn(exchange);
+ return unresolved;
}
- }).when(_exchangeRegistry).registerExchange(registeredExchange.capture());
+ }).when(_exchangeFactory).recover(recoveredExchange.capture(), any(ConfiguredObject.class));
@@ -164,7 +174,7 @@ public class DurableConfigurationRecover
{
final UUID exchangeId = UUID.fromString(args.get(Queue.ALTERNATE_EXCHANGE).toString());
final ExchangeImpl exchange =
- (ExchangeImpl) _exchangeRegistry.getExchange(exchangeId);
+ (ExchangeImpl) _vhost.getExchange(exchangeId);
queue.setAlternateExchange(exchange);
}
return queue;
@@ -174,9 +184,9 @@ public class DurableConfigurationRecover
DurableConfiguredObjectRecoverer[] recoverers = {
- new QueueRecoverer(_vhost, _exchangeRegistry, _queueFactory),
- new ExchangeRecoverer(_exchangeRegistry, _exchangeFactory),
- new BindingRecoverer(_vhost, _exchangeRegistry)
+ new QueueRecoverer(_vhost, _queueFactory),
+ new ExchangeRecoverer(_vhost),
+ new BindingRecoverer(_vhost)
};
final Map<String, DurableConfiguredObjectRecoverer> recovererMap= new HashMap<String, DurableConfiguredObjectRecoverer>();
@@ -192,19 +202,6 @@ public class DurableConfigurationRecover
}
- private ExchangeImpl<?> createAndRegisterDefaultExchangeWithFactory(ExchangeType<?> exchangeType) throws AMQUnknownExchangeType, UnknownExchangeException
- {
- ExchangeImpl exchange = mock(ExchangeImpl.class);
- when(exchange.getExchangeType()).thenReturn(exchangeType);
- Map<String, Object> directExchangeAttrsWithId = new HashMap<String, Object>();
- directExchangeAttrsWithId.put(org.apache.qpid.server.model.Exchange.ID, UUIDGenerator.generateExchangeUUID(exchangeType.getDefaultExchangeName(), VIRTUAL_HOST_NAME));
- directExchangeAttrsWithId.put(org.apache.qpid.server.model.Exchange.DURABLE, true);
- directExchangeAttrsWithId.put(org.apache.qpid.server.model.Exchange.TYPE, exchangeType.getType());
- directExchangeAttrsWithId.put(org.apache.qpid.server.model.Exchange.NAME, exchangeType.getDefaultExchangeName());
- when(_exchangeFactory.restoreExchange(directExchangeAttrsWithId)).thenReturn(exchange);
- return exchange;
- }
-
public void testUpgradeEmptyStore() throws Exception
{
_durableConfigurationRecoverer.beginConfigurationRecovery(_store);
@@ -295,47 +292,6 @@ public class DurableConfigurationRecover
"org.apache.qpid.server.model.Exchange",
createExchange(CUSTOM_EXCHANGE_NAME, HeadersExchange.TYPE)));
- final ExchangeImpl customExchange = mock(ExchangeImpl.class);
-
- final ArgumentCaptor<Map> attributesCaptor = ArgumentCaptor.forClass(Map.class);
- when(_exchangeFactory.restoreExchange(attributesCaptor.capture())).thenAnswer(new Answer<ExchangeImpl>()
- {
- @Override
- public ExchangeImpl answer(final InvocationOnMock invocation) throws Throwable
- {
- Map arguments = attributesCaptor.getValue();
- String exchangeName = (String) arguments.get(org.apache.qpid.server.model.Exchange.NAME);
- if(CUSTOM_EXCHANGE_NAME.equals(exchangeName)
- && HeadersExchange.TYPE.getType().equals(arguments.get(org.apache.qpid.server.model.Exchange.TYPE))
- && customExchangeId.equals((UUID) arguments.get(org.apache.qpid.server.model.Exchange.ID)))
- {
- return customExchange;
- }
- else if ("amq.topic".equals(exchangeName))
- {
- return _topicExchange;
- }
- else if ("amq.direct".equals(exchangeName))
- {
- return _directExchange;
- }
- else if ("amq.fanout".equals(exchangeName))
- {
- return _fanoutExchange;
- }
- else if ("amq.match".equals(exchangeName))
- {
- return _matchExchange;
- }
- else
- {
- return null;
- }
- }
- });
-
-
-
final ConfiguredObjectRecord[] expected = {
new ConfiguredObjectRecordImpl(new UUID(1, 0), "org.apache.qpid.server.model.Binding",
createBinding("key", "not-a-selector", "moo")),
@@ -443,49 +399,6 @@ public class DurableConfigurationRecover
final UUID queueId = new UUID(1, 0);
final UUID exchangeId = new UUID(2, 0);
- final ExchangeImpl customExchange = mock(ExchangeImpl.class);
-
- when(customExchange.getId()).thenReturn(exchangeId);
- when(customExchange.getName()).thenReturn(CUSTOM_EXCHANGE_NAME);
-
- final ArgumentCaptor<Map> attributesCaptor = ArgumentCaptor.forClass(Map.class);
-
- when(_exchangeFactory.restoreExchange(attributesCaptor.capture())).thenAnswer(new Answer<ExchangeImpl>()
- {
- @Override
- public ExchangeImpl answer(final InvocationOnMock invocation) throws Throwable
- {
- Map arguments = attributesCaptor.getValue();
- String exchangeName = (String) arguments.get(org.apache.qpid.server.model.Exchange.NAME);
- if(CUSTOM_EXCHANGE_NAME.equals(exchangeName)
- && HeadersExchange.TYPE.getType().equals(arguments.get(org.apache.qpid.server.model.Exchange.TYPE))
- && exchangeId.equals(arguments.get(org.apache.qpid.server.model.Exchange.ID)))
- {
- return customExchange;
- }
- else if ("amq.topic".equals(exchangeName))
- {
- return _topicExchange;
- }
- else if ("amq.direct".equals(exchangeName))
- {
- return _directExchange;
- }
- else if ("amq.fanout".equals(exchangeName))
- {
- return _fanoutExchange;
- }
- else if ("amq.match".equals(exchangeName))
- {
- return _matchExchange;
- }
- else
- {
- return null;
- }
- }
- });
-
_durableConfigurationRecoverer.beginConfigurationRecovery(_store);
_durableConfigurationRecoverer.configuredObject(new ConfiguredObjectRecordImpl(queueId, Queue.class.getSimpleName(),
@@ -496,7 +409,7 @@ public class DurableConfigurationRecover
_durableConfigurationRecoverer.completeConfigurationRecovery();
- assertEquals(customExchange, _vhost.getQueue(queueId).getAlternateExchange());
+ assertEquals(CUSTOM_EXCHANGE_NAME, _vhost.getQueue(queueId).getAlternateExchange().getName());
}
private void verifyCorrectUpdates(final ConfiguredObjectRecord[] expected) throws StoreException
@@ -578,4 +491,5 @@ public class DurableConfigurationRecover
}
+
}
Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java Thu Apr 17 01:07:34 2014
@@ -35,12 +35,12 @@ import org.apache.qpid.server.message.Me
import org.apache.qpid.server.model.ConfigurationChangeListener;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectAttribute;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.Connection;
import org.apache.qpid.server.model.IllegalStateTransitionException;
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.VirtualHostAlias;
-import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.protocol.LinkRegistry;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.queue.QueueRegistry;
@@ -433,20 +433,15 @@ public class MockVirtualHost implements
return null;
}
- @Override
- public Collection<ExchangeType<? extends ExchangeImpl>> getExchangeTypes()
- {
- return null;
- }
-
public SecurityManager getSecurityManager()
{
return null;
}
@Override
- public void addVirtualHostListener(VirtualHostListener listener)
+ public ConfiguredObjectFactory getObjectFactory()
{
+ return null;
}
public LinkRegistry getLinkRegistry(String remoteContainerId)
@@ -535,6 +530,18 @@ public class MockVirtualHost implements
}
@Override
+ public <C extends ConfiguredObject> C getChildById(final Class<C> clazz, final UUID id)
+ {
+ return null;
+ }
+
+ @Override
+ public <C extends ConfiguredObject> C getChildByName(final Class<C> clazz, final String name)
+ {
+ return null;
+ }
+
+ @Override
public <C extends ConfiguredObject> C createChild(final Class<C> childClass,
final Map<String, Object> attributes,
final ConfiguredObject... otherParents)
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java Thu Apr 17 01:07:34 2014
@@ -20,6 +20,10 @@
*/
package org.apache.qpid.server.protocol.v0_10;
+import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.CONNECTION_FORMAT;
+import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.SOCKET_FORMAT;
+import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.USER_FORMAT;
+
import java.net.SocketAddress;
import java.security.Principal;
import java.security.PrivilegedAction;
@@ -29,7 +33,9 @@ import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
+
import javax.security.auth.Subject;
+
import org.apache.qpid.protocol.AMQConstant;
import org.apache.qpid.server.connection.ConnectionPrincipal;
import org.apache.qpid.server.logging.EventLogger;
@@ -55,10 +61,6 @@ import org.apache.qpid.transport.Method;
import org.apache.qpid.transport.ProtocolEvent;
import org.apache.qpid.transport.Session;
-import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.CONNECTION_FORMAT;
-import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.SOCKET_FORMAT;
-import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.USER_FORMAT;
-
public class ServerConnection extends Connection implements AMQConnectionModel<ServerConnection, ServerSession>,
LogSubject, AuthorizationHolder
{
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java Thu Apr 17 01:07:34 2014
@@ -299,6 +299,7 @@ public class ServerConnectionDelegate ex
stopAllSubscriptions(conn, dtc);
Session ssn = conn.getSession(dtc.getChannel());
((ServerSession)ssn).setClose(true);
+ ((ServerSession)ssn).getModelObject().delete();
super.sessionDetach(conn, dtc);
}
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java Thu Apr 17 01:07:34 2014
@@ -130,6 +130,7 @@ public class ServerSession extends Sessi
private final CheckCapacityAction _checkCapacityAction = new CheckCapacityAction();
private final CopyOnWriteArrayList<ConsumerListener> _consumerListeners = new CopyOnWriteArrayList<ConsumerListener>();
private final ConfigurationChangeListener _consumerClosedListener = new ConsumerClosedListener();
+ private org.apache.qpid.server.model.Session<?> _modelObject;
public static interface MessageDispositionChangeListener
@@ -859,6 +860,10 @@ public class ServerSession extends Sessi
// unregister subscriptions in order to prevent sending of new messages
// to subscriptions with closing session
unregisterSubscriptions();
+ if(_modelObject != null)
+ {
+ _modelObject.delete();
+ }
super.close();
}
@@ -1003,6 +1008,18 @@ public class ServerSession extends Sessi
_consumerListeners.remove(listener);
}
+ @Override
+ public void setModelObject(final org.apache.qpid.server.model.Session<?> session)
+ {
+ _modelObject = session;
+ }
+
+ @Override
+ public org.apache.qpid.server.model.Session<?> getModelObject()
+ {
+ return _modelObject;
+ }
+
private void consumerAdded(Consumer<?> consumer)
{
for(ConsumerListener l : _consumerListeners)
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java Thu Apr 17 01:07:34 2014
@@ -20,20 +20,22 @@
*/
package org.apache.qpid.server.protocol.v0_10;
+import java.nio.ByteBuffer;
import java.security.AccessControlException;
+import java.util.Collection;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
import java.util.UUID;
+
import org.apache.log4j.Logger;
import org.apache.qpid.server.consumer.ConsumerImpl;
+import org.apache.qpid.server.exchange.AMQUnknownExchangeType;
import org.apache.qpid.server.exchange.DirectExchange;
import org.apache.qpid.server.exchange.ExchangeImpl;
-import org.apache.qpid.server.model.ExclusivityPolicy;
-import org.apache.qpid.server.model.LifetimePolicy;
-import org.apache.qpid.server.store.StoreException;
-import org.apache.qpid.server.exchange.AMQUnknownExchangeType;
import org.apache.qpid.server.exchange.HeadersExchange;
import org.apache.qpid.server.filter.AMQInvalidArgumentException;
import org.apache.qpid.server.filter.FilterManager;
@@ -43,13 +45,15 @@ import org.apache.qpid.server.message.In
import org.apache.qpid.server.message.MessageDestination;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.MessageSource;
+import org.apache.qpid.server.model.ExclusivityPolicy;
+import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Queue;
-import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.queue.QueueArgumentsConverter;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.MessageStore;
+import org.apache.qpid.server.store.StoreException;
import org.apache.qpid.server.store.StoreFuture;
import org.apache.qpid.server.store.StoredMessage;
import org.apache.qpid.server.txn.AlreadyKnownDtxException;
@@ -63,14 +67,15 @@ import org.apache.qpid.server.txn.Suspen
import org.apache.qpid.server.txn.TimeoutDtxException;
import org.apache.qpid.server.txn.UnknownDtxBranchException;
import org.apache.qpid.server.util.ServerScopedRuntimeException;
-import org.apache.qpid.server.virtualhost.*;
+import org.apache.qpid.server.virtualhost.ExchangeExistsException;
+import org.apache.qpid.server.virtualhost.ExchangeIsAlternateException;
+import org.apache.qpid.server.virtualhost.QueueExistsException;
+import org.apache.qpid.server.virtualhost.RequiredExchangeException;
+import org.apache.qpid.server.virtualhost.ReservedExchangeNameException;
+import org.apache.qpid.server.virtualhost.UnknownExchangeException;
+import org.apache.qpid.server.virtualhost.VirtualHostImpl;
import org.apache.qpid.transport.*;
-import java.nio.ByteBuffer;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
public class ServerSessionDelegate extends SessionDelegate
{
private static final Logger LOGGER = Logger.getLogger(ServerSessionDelegate.class);
@@ -1278,7 +1283,7 @@ public class ServerSessionDelegate exten
arguments.put(Queue.ALTERNATE_EXCHANGE, alternateExchangeName);
}
- final UUID id = UUIDGenerator.generateQueueUUID(queueName, virtualHost.getName());
+ final UUID id = UUID.randomUUID();
arguments.put(Queue.ID, id);
arguments.put(Queue.NAME, queueName);
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java Thu Apr 17 01:07:34 2014
@@ -86,6 +86,7 @@ import org.apache.qpid.server.message.Se
import org.apache.qpid.server.model.ConfigurationChangeListener;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Consumer;
+import org.apache.qpid.server.model.Session;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.protocol.AMQSessionModel;
import org.apache.qpid.server.protocol.CapacityChecker;
@@ -195,6 +196,7 @@ public class AMQChannel<T extends AMQPro
private final CopyOnWriteArrayList<Consumer<?>> _consumers = new CopyOnWriteArrayList<Consumer<?>>();
private final ConfigurationChangeListener _consumerClosedListener = new ConsumerClosedListener();
private final CopyOnWriteArrayList<ConsumerListener> _consumerListeners = new CopyOnWriteArrayList<ConsumerListener>();
+ private Session<?> _modelObject;
public AMQChannel(T session, int channelId, final MessageStore messageStore)
@@ -737,6 +739,10 @@ public class AMQChannel<T extends AMQPro
_transaction.rollback();
+ if(_modelObject != null)
+ {
+ _modelObject.delete();
+ }
try
{
@@ -1759,4 +1765,16 @@ public class AMQChannel<T extends AMQPro
{
_consumerListeners.remove(listener);
}
+
+ @Override
+ public void setModelObject(final Session<?> session)
+ {
+ _modelObject = session;
+ }
+
+ @Override
+ public Session<?> getModelObject()
+ {
+ return _modelObject;
+ }
}
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java Thu Apr 17 01:07:34 2014
@@ -36,7 +36,6 @@ import org.apache.qpid.protocol.AMQConst
import org.apache.qpid.server.model.ExclusivityPolicy;
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Queue;
-import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.protocol.AMQSessionModel;
import org.apache.qpid.server.protocol.v0_8.AMQChannel;
import org.apache.qpid.server.protocol.v0_8.AMQProtocolSession;
@@ -192,7 +191,7 @@ public class QueueDeclareHandler impleme
QueueArgumentsConverter.convertWireArgsToModel(FieldTable.convertToMap(body.getArguments()));
final String queueNameString = AMQShortString.toString(queueName);
attributes.put(Queue.NAME, queueNameString);
- attributes.put(Queue.ID, UUIDGenerator.generateQueueUUID(queueNameString, virtualHost.getName()));
+ attributes.put(Queue.ID, UUID.randomUUID());
attributes.put(Queue.DURABLE, durable);
LifetimePolicy lifetimePolicy;
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java Thu Apr 17 01:07:34 2014
@@ -272,11 +272,13 @@ public class InternalTestProtocolSession
}
}
+ private static final AtomicInteger portNumber = new AtomicInteger(0);
+
private static class TestNetworkConnection implements NetworkConnection
{
private String _remoteHost = "127.0.0.1";
private String _localHost = "127.0.0.1";
- private int _port = 1;
+ private int _port = portNumber.incrementAndGet();
private final Sender<ByteBuffer> _sender;
public TestNetworkConnection()
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java Thu Apr 17 01:07:34 2014
@@ -21,16 +21,18 @@
package org.apache.qpid.server.protocol.v1_0;
import java.security.AccessControlException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.log4j.Logger;
-import org.apache.qpid.server.binding.BindingImpl;
-import org.apache.qpid.server.consumer.ConsumerImpl;
-import org.apache.qpid.server.exchange.ExchangeImpl;
-import org.apache.qpid.server.model.ExclusivityPolicy;
-import org.apache.qpid.server.model.LifetimePolicy;
-import org.apache.qpid.server.model.Queue;
+
import org.apache.qpid.amqp_1_0.transport.DeliveryStateHandler;
import org.apache.qpid.amqp_1_0.transport.LinkEndpoint;
import org.apache.qpid.amqp_1_0.transport.SendingLinkEndpoint;
@@ -41,26 +43,41 @@ import org.apache.qpid.amqp_1_0.type.Del
import org.apache.qpid.amqp_1_0.type.Outcome;
import org.apache.qpid.amqp_1_0.type.Symbol;
import org.apache.qpid.amqp_1_0.type.UnsignedInteger;
-import org.apache.qpid.amqp_1_0.type.messaging.*;
+import org.apache.qpid.amqp_1_0.type.messaging.Accepted;
+import org.apache.qpid.amqp_1_0.type.messaging.ExactSubjectFilter;
+import org.apache.qpid.amqp_1_0.type.messaging.Filter;
+import org.apache.qpid.amqp_1_0.type.messaging.MatchingSubjectFilter;
+import org.apache.qpid.amqp_1_0.type.messaging.Modified;
+import org.apache.qpid.amqp_1_0.type.messaging.NoLocalFilter;
+import org.apache.qpid.amqp_1_0.type.messaging.Released;
+import org.apache.qpid.amqp_1_0.type.messaging.Source;
+import org.apache.qpid.amqp_1_0.type.messaging.StdDistMode;
+import org.apache.qpid.amqp_1_0.type.messaging.Target;
+import org.apache.qpid.amqp_1_0.type.messaging.TerminusDurability;
import org.apache.qpid.amqp_1_0.type.transport.AmqpError;
import org.apache.qpid.amqp_1_0.type.transport.Detach;
import org.apache.qpid.amqp_1_0.type.transport.Error;
import org.apache.qpid.amqp_1_0.type.transport.Transfer;
import org.apache.qpid.filter.SelectorParsingException;
import org.apache.qpid.filter.selector.ParseException;
+import org.apache.qpid.server.binding.BindingImpl;
+import org.apache.qpid.server.consumer.ConsumerImpl;
import org.apache.qpid.server.exchange.DirectExchange;
+import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.exchange.TopicExchange;
import org.apache.qpid.server.filter.JMSSelectorFilter;
import org.apache.qpid.server.filter.SimpleFilterManager;
import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.message.MessageSource;
-import org.apache.qpid.server.model.UUIDGenerator;
+import org.apache.qpid.server.model.ExclusivityPolicy;
+import org.apache.qpid.server.model.LifetimePolicy;
+import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.txn.AutoCommitTransaction;
import org.apache.qpid.server.txn.ServerTransaction;
import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
import org.apache.qpid.server.virtualhost.QueueExistsException;
+import org.apache.qpid.server.virtualhost.VirtualHostImpl;
public class SendingLink_1_0 implements SendingLinkListener, Link_1_0, DeliveryStateHandler
{
@@ -204,7 +221,7 @@ public class SendingLink_1_0 implements
if(queue == null)
{
Map<String,Object> attributes = new HashMap<String,Object>();
- attributes.put(Queue.ID, UUIDGenerator.generateQueueUUID(name, _vhost.getName()));
+ attributes.put(Queue.ID, UUID.randomUUID());
attributes.put(Queue.NAME, name);
attributes.put(Queue.DURABLE, isDurable);
attributes.put(Queue.LIFETIME_POLICY, LifetimePolicy.DELETE_ON_NO_OUTBOUND_LINKS);
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java Thu Apr 17 01:07:34 2014
@@ -78,7 +78,7 @@ import org.apache.qpid.server.message.Me
import org.apache.qpid.server.model.ConfigurationChangeListener;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Consumer;
-import org.apache.qpid.server.model.UUIDGenerator;
+import org.apache.qpid.server.model.Session;
import org.apache.qpid.server.protocol.AMQSessionModel;
import org.apache.qpid.server.protocol.ConsumerListener;
import org.apache.qpid.server.protocol.LinkRegistry;
@@ -112,6 +112,7 @@ public class Session_1_0 implements Sess
private final CopyOnWriteArrayList<Consumer<?>> _consumers = new CopyOnWriteArrayList<Consumer<?>>();
private final ConfigurationChangeListener _consumerClosedListener = new ConsumerClosedListener();
private final CopyOnWriteArrayList<ConsumerListener> _consumerListeners = new CopyOnWriteArrayList<ConsumerListener>();
+ private Session<?> _modelObject;
public Session_1_0(final Connection_1_0 connection, final SessionEndpoint endpoint)
@@ -433,7 +434,7 @@ public class Session_1_0 implements Sess
? null
: (LifetimePolicy) properties.get(LIFETIME_POLICY);
Map<String,Object> attributes = new HashMap<String,Object>();
- attributes.put(org.apache.qpid.server.model.Queue.ID, UUIDGenerator.generateQueueUUID(queueName, getVirtualHost().getName()));
+ attributes.put(org.apache.qpid.server.model.Queue.ID, UUID.randomUUID());
attributes.put(org.apache.qpid.server.model.Queue.NAME, queueName);
attributes.put(org.apache.qpid.server.model.Queue.DURABLE, false);
@@ -570,6 +571,10 @@ public class Session_1_0 implements Sess
{
performCloseTasks();
_endpoint.end();
+ if(_modelObject != null)
+ {
+ _modelObject.delete();
+ }
}
protected void performCloseTasks()
@@ -844,6 +849,18 @@ public class Session_1_0 implements Sess
_consumerListeners.remove(listener);
}
+ @Override
+ public void setModelObject(final Session<?> session)
+ {
+ _modelObject = session;
+ }
+
+ @Override
+ public Session<?> getModelObject()
+ {
+ return _modelObject;
+ }
+
private void consumerAdded(Consumer<?> consumer)
{
for(ConsumerListener l : _consumerListeners)
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java Thu Apr 17 01:07:34 2014
@@ -49,6 +49,7 @@ import org.apache.qpid.server.model.Queu
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.queue.QueueArgumentsConverter;
+import org.apache.qpid.server.virtualhost.RequiredExchangeException;
@MBeanDescription("This MBean exposes the broker level management features")
public class VirtualHostManagerMBean extends AbstractStatisticsGatheringMBean<VirtualHost> implements ManagedBroker
@@ -185,6 +186,10 @@ public class VirtualHostManagerMBean ext
{
theExchange.delete();
}
+ catch(RequiredExchangeException e)
+ {
+ throw new UnsupportedOperationException(e.getMessage(), e);
+ }
catch (IllegalStateException ex)
{
final JMException jme = new JMException(ex.toString());
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java Thu Apr 17 01:07:34 2014
@@ -36,7 +36,8 @@ import org.apache.qpid.server.model.Grou
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.UUIDGenerator;
-import org.apache.qpid.server.security.group.FileGroupManagerFactory;
+import org.apache.qpid.server.model.adapter.FileBasedGroupProvider;
+import org.apache.qpid.server.model.adapter.FileBasedGroupProviderImpl;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
import org.apache.qpid.test.utils.TestFileUtils;
@@ -76,11 +77,11 @@ public class GroupProviderRestTest exten
assertEquals("Unexpected number of providers", 1, providerDetails.size());
for (Map<String, Object> provider : providerDetails)
{
- assertProvider(FILE_GROUP_MANAGER, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE, provider);
+ assertProvider(FILE_GROUP_MANAGER, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE, provider);
Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("/rest/groupprovider/"
+ provider.get(GroupProvider.NAME));
assertNotNull("Cannot load data for " + provider.get(GroupProvider.NAME), data);
- assertProvider(FILE_GROUP_MANAGER, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE, data);
+ assertProvider(FILE_GROUP_MANAGER, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE, data);
}
}
@@ -127,16 +128,16 @@ public class GroupProviderRestTest exten
String providerName = getTestName();
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, providerName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, groupFile.getAbsolutePath());
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, groupFile.getAbsolutePath());
int responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + providerName, "PUT", attributes);
assertEquals("Group provider was not created", 201, responseCode);
Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("/rest/groupprovider/" + providerName + "?depth=2");
- assertProvider(providerName, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE, data);
+ assertProvider(providerName, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE, data);
assertEquals("Unexpected name", providerName, data.get(GroupProvider.NAME));
- assertEquals("Unexpected path", groupFile.getAbsolutePath(), data.get(FileGroupManagerFactory.PATH));
+ assertEquals("Unexpected path", groupFile.getAbsolutePath(), data.get(FileBasedGroupProvider.PATH));
@SuppressWarnings("unchecked")
List<Map<String, Object>> groups = (List<Map<String, Object>>) data.get("groups");
@@ -174,7 +175,7 @@ public class GroupProviderRestTest exten
String providerName = getTestName();
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, providerName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
int responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + providerName, "PUT", attributes);
assertEquals("Group provider was created", 409, responseCode);
@@ -189,15 +190,15 @@ public class GroupProviderRestTest exten
String providerName = getTestName();
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, providerName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, groupFile.getAbsolutePath());
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, groupFile.getAbsolutePath());
int responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + providerName, "PUT", attributes);
assertEquals("Group provider was not created", 201, responseCode);
Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("/rest/groupprovider/" + providerName);
assertEquals("Unexpected name", providerName, data.get(GroupProvider.NAME));
- assertEquals("Unexpected path", groupFile.getAbsolutePath(), data.get(FileGroupManagerFactory.PATH));
+ assertEquals("Unexpected path", groupFile.getAbsolutePath(), data.get(FileBasedGroupProvider.PATH));
@SuppressWarnings("unchecked")
List<Map<String, Object>> groups = (List<Map<String, Object>>) data.get("groups");
@@ -220,8 +221,8 @@ public class GroupProviderRestTest exten
{
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, providerName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, groupFile.getAbsolutePath());
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, groupFile.getAbsolutePath());
int responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + providerName, "PUT", attributes);
assertEquals("Group provider was not created", 201, responseCode);
@@ -244,8 +245,8 @@ public class GroupProviderRestTest exten
{
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, providerName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, groupFile.getAbsolutePath());
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, groupFile.getAbsolutePath());
int responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + providerName, "PUT", attributes);
assertEquals("Expected to fail because we can have only one password provider", 201, responseCode);
@@ -271,14 +272,14 @@ public class GroupProviderRestTest exten
{
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, providerName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, groupFile.getAbsolutePath());
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, groupFile.getAbsolutePath());
int responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + providerName, "PUT", attributes);
assertEquals("Expected to fail because we can have only one password provider", 201, responseCode);
File newGroupFile = new File(TMP_FOLDER + File.separator + getTestName() + File.separator + "groups");
- attributes.put(FileGroupManagerFactory.PATH, newGroupFile.getAbsolutePath());
+ attributes.put(FileBasedGroupProvider.PATH, newGroupFile.getAbsolutePath());
responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + providerName, "PUT", attributes);
assertEquals("Expected to fail because we can have only one password provider", 409, responseCode);
@@ -310,7 +311,7 @@ public class GroupProviderRestTest exten
Map<String, Object> groupProvider = getRestTestHelper().getJsonAsSingletonList("/rest/groupprovider/" + TestBrokerConfiguration.ENTRY_NAME_GROUP_FILE);
assertEquals("Unexpected id", id.toString(), groupProvider.get(GroupProvider.ID));
- assertEquals("Unexpected path", file.getAbsolutePath() , groupProvider.get(FileGroupManagerFactory.PATH));
+ assertEquals("Unexpected path", file.getAbsolutePath() , groupProvider.get(FileBasedGroupProvider.PATH));
assertEquals("Unexpected state", State.ERRORED.name() , groupProvider.get(GroupProvider.STATE));
int status = getRestTestHelper().submitRequest("/rest/groupprovider/" + TestBrokerConfiguration.ENTRY_NAME_GROUP_FILE, "DELETE", null);
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java Thu Apr 17 01:07:34 2014
@@ -41,13 +41,14 @@ import org.apache.qpid.server.model.Port
import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.TrustStore;
import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.model.adapter.FileBasedGroupProvider;
+import org.apache.qpid.server.model.adapter.FileBasedGroupProviderImpl;
import org.apache.qpid.server.security.FileKeyStore;
import org.apache.qpid.server.security.FileTrustStore;
import org.apache.qpid.server.security.access.FileAccessControlProviderConstants;
import org.apache.qpid.server.security.acl.AbstractACLTestCase;
import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManagerFactory;
import org.apache.qpid.server.security.auth.manager.PlainPasswordFileAuthenticationManagerFactory;
-import org.apache.qpid.server.security.group.FileGroupManagerFactory;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.virtualhost.StandardVirtualHost;
import org.apache.qpid.systest.rest.QpidRestTestCase;
@@ -738,8 +739,8 @@ public class BrokerACLTest extends QpidR
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, groupProviderName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, "/path/to/file");
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, "/path/to/file");
responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + groupProviderName, "PUT", attributes);
assertEquals("Setting of group provider attributes should be allowed but not supported", 409, responseCode);
}
@@ -761,8 +762,8 @@ public class BrokerACLTest extends QpidR
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, groupProviderName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, "/path/to/file");
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, "/path/to/file");
responseCode = getRestTestHelper().submitRequest("/rest/groupprovider/" + groupProviderName, "PUT", attributes);
assertEquals("Setting of group provider attributes should be denied", 403, responseCode);
}
@@ -852,8 +853,8 @@ public class BrokerACLTest extends QpidR
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, accessControlProviderName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, "/path/to/file");
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, "/path/to/file");
responseCode = getRestTestHelper().submitRequest("/rest/accesscontrolprovider/" + accessControlProviderName, "PUT", attributes);
assertEquals("Setting of access control provider attributes should be allowed but not supported", 409, responseCode);
}
@@ -875,8 +876,8 @@ public class BrokerACLTest extends QpidR
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, accessControlProviderName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, "/path/to/file");
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, "/path/to/file");
responseCode = getRestTestHelper().submitRequest("/rest/accesscontrolprovider/" + accessControlProviderName, "PUT", attributes);
assertEquals("Setting of access control provider attributes should be denied", 403, responseCode);
}
@@ -1073,8 +1074,8 @@ public class BrokerACLTest extends QpidR
File file = TestFileUtils.createTempFile(this, ".groups");
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, groupProviderName);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, file.getAbsoluteFile());
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, file.getAbsoluteFile());
return getRestTestHelper().submitRequest("/rest/groupprovider/" + groupProviderName, "PUT", attributes);
}
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1588126&r1=1588125&r2=1588126&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Thu Apr 17 01:07:34 2014
@@ -62,6 +62,7 @@ import org.apache.qpid.jms.ConnectionURL
import org.apache.qpid.server.Broker;
import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.configuration.BrokerProperties;
+import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.VirtualHost;
@@ -77,6 +78,8 @@ import org.apache.qpid.util.SystemUtils;
*/
public class QpidBrokerTestCase extends QpidTestCase
{
+ private TaskExecutor _taskExecutor;
+
public enum BrokerType
{
EXTERNAL /** Test case relies on a Broker started independently of the test-suite */,
@@ -226,7 +229,12 @@ public class QpidBrokerTestCase extends
public TestBrokerConfiguration createBrokerConfiguration(int port)
{
int actualPort = getPort(port);
- TestBrokerConfiguration configuration = new TestBrokerConfiguration(System.getProperty(_brokerStoreType), _configFile.getAbsolutePath());
+ if(_taskExecutor == null)
+ {
+ _taskExecutor = new TaskExecutor();
+ _taskExecutor.start();
+ }
+ TestBrokerConfiguration configuration = new TestBrokerConfiguration(System.getProperty(_brokerStoreType), _configFile.getAbsolutePath(), _taskExecutor);
synchronized (_brokerConfigurations)
{
_brokerConfigurations.put(actualPort, configuration);
@@ -341,7 +349,8 @@ public class QpidBrokerTestCase extends
protected void setUp() throws Exception
{
super.setUp();
-
+ _taskExecutor = new TaskExecutor();
+ _taskExecutor.start();
if (!_configFile.exists())
{
fail("Unable to test without config file:" + _configFile);
@@ -1192,6 +1201,10 @@ public class QpidBrokerTestCase extends
{
c.close();
}
+ if(_taskExecutor != null)
+ {
+ _taskExecutor.stop();
+ }
}
/**
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=1588126&r1=1588125&r2=1588126&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 Thu Apr 17 01:07:34 2014
@@ -37,15 +37,16 @@ import org.apache.qpid.server.model.Acce
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
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.GroupProvider;
import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Plugin;
import org.apache.qpid.server.model.PreferencesProvider;
import org.apache.qpid.server.model.SystemContextImpl;
import org.apache.qpid.server.model.UUIDGenerator;
+import org.apache.qpid.server.model.adapter.FileBasedGroupProvider;
+import org.apache.qpid.server.model.adapter.FileBasedGroupProviderImpl;
import org.apache.qpid.server.security.access.FileAccessControlProviderConstants;
-import org.apache.qpid.server.security.group.FileGroupManagerFactory;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.ConfiguredObjectRecordImpl;
import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
@@ -73,9 +74,9 @@ public class TestBrokerConfiguration
private MemoryConfigurationEntryStore _store;
private boolean _saved;
- public TestBrokerConfiguration(String storeType, String intialStoreLocation)
+ public TestBrokerConfiguration(String storeType, String intialStoreLocation, final TaskExecutor taskExecutor)
{
- _store = new MemoryConfigurationEntryStore(new SystemContextImpl(new TaskExecutor(), new ConfiguredObjectFactory(
+ _store = new MemoryConfigurationEntryStore(new SystemContextImpl(taskExecutor, new ConfiguredObjectFactoryImpl(
Model.getInstance()),
mock(EventLogger.class), mock(LogRecorder.class),
mock(BrokerOptions.class)),
@@ -163,8 +164,8 @@ public class TestBrokerConfiguration
{
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.NAME, ENTRY_NAME_GROUP_FILE);
- attributes.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
- attributes.put(FileGroupManagerFactory.PATH, groupFilePath);
+ attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
+ attributes.put(FileBasedGroupProvider.PATH, groupFilePath);
return addObjectConfiguration(GroupProvider.class, attributes);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org