summaryrefslogtreecommitdiff
path: root/java/broker/src/test/java/org/apache/qpid
diff options
context:
space:
mode:
Diffstat (limited to 'java/broker/src/test/java/org/apache/qpid')
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java201
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java57
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java74
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java13
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java10
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java9
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java8
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java8
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java2
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java4
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java127
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/queue/MockQueueEntry.java5
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java67
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java26
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java30
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/security/access/QueueDenier.java2
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java82
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java2
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/util/NullApplicationRegistry.java15
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java19
20 files changed, 470 insertions, 291 deletions
diff --git a/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java b/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
index 89b825b270..e478f0f1f3 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
@@ -20,20 +20,11 @@
*/
package org.apache.qpid.server.configuration;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Collections;
-
import junit.framework.TestCase;
-
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
+
import org.apache.qpid.server.protocol.AMQProtocolEngine;
import org.apache.qpid.server.protocol.AMQProtocolSession;
import org.apache.qpid.server.registry.ApplicationRegistry;
@@ -42,6 +33,14 @@ import org.apache.qpid.server.virtualhost.VirtualHost;
import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
import org.apache.qpid.transport.TestNetworkDriver;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+
public class ServerConfigurationTest extends TestCase
{
@@ -51,7 +50,7 @@ public class ServerConfigurationTest extends TestCase
public void setUp()
{
//Highlight that this test will cause a new AR to be created
- ApplicationRegistry.getInstance();
+// ApplicationRegistry.getInstance();
_config = new XMLConfiguration();
}
@@ -60,7 +59,7 @@ public class ServerConfigurationTest extends TestCase
public void tearDown() throws Exception
{
//Correctly Close the AR we created
- ApplicationRegistry.remove();
+// ApplicationRegistry.remove();
}
public void testSetJMXManagementPort() throws ConfigurationException
@@ -765,21 +764,28 @@ public class ServerConfigurationTest extends TestCase
// Load config
ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile);
- ApplicationRegistry.initialise(reg, 1);
+ try
+ {
+ ApplicationRegistry.initialise(reg, 1);
- // Test config
- VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry();
- VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test");
+ // Test config
+ VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry();
+ VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test");
- TestNetworkDriver testDriver = new TestNetworkDriver();
- testDriver.setRemoteAddress("127.0.0.1");
+ TestNetworkDriver testDriver = new TestNetworkDriver();
+ testDriver.setRemoteAddress("127.0.0.1");
- AMQProtocolEngine session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
- assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ AMQProtocolEngine session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
+ assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
- testDriver.setRemoteAddress("127.1.2.3");
- session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
- assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ testDriver.setRemoteAddress("127.1.2.3");
+ session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
+ assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ }
+ finally
+ {
+ ApplicationRegistry.remove(1);
+ }
}
public void testCombinedConfigurationFirewall() throws Exception
@@ -839,48 +845,61 @@ public class ServerConfigurationTest extends TestCase
// Load config
ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile);
- ApplicationRegistry.initialise(reg, 1);
+ try
+ {
+ ApplicationRegistry.initialise(reg, 1);
- // Test config
- VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry();
- VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test");
+ // Test config
+ VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry();
+ VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test");
- TestNetworkDriver testDriver = new TestNetworkDriver();
- testDriver.setRemoteAddress("127.0.0.1");
+ TestNetworkDriver testDriver = new TestNetworkDriver();
+ testDriver.setRemoteAddress("127.0.0.1");
- AMQProtocolEngine session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
- session.setNetworkDriver(testDriver);
- assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ AMQProtocolEngine session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
+ session.setNetworkDriver(testDriver);
+ assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ }
+ finally
+ {
+ ApplicationRegistry.remove(1);
+ }
}
-
+
public void testConfigurationFirewallReload() throws Exception
{
// Write out config
File mainFile = File.createTempFile(getClass().getName(), null);
- mainFile.deleteOnExit();
+ mainFile.deleteOnExit();
writeConfigFile(mainFile, false);
// Load config
ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile);
- ApplicationRegistry.initialise(reg, 1);
-
- // Test config
- TestNetworkDriver testDriver = new TestNetworkDriver();
- testDriver.setRemoteAddress("127.0.0.1");
- VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry();
- VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test");
- AMQProtocolSession session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
-
- assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
-
- // Switch to deny the connection
- writeConfigFile(mainFile, true);
-
- reg.getConfiguration().reparseConfigFileSecuritySections();
-
- assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ try
+ {
+ ApplicationRegistry.initialise(reg, 1);
+
+ // Test config
+ TestNetworkDriver testDriver = new TestNetworkDriver();
+ testDriver.setRemoteAddress("127.0.0.1");
+ VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry();
+ VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test");
+ AMQProtocolSession session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
+
+ assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ // Switch to deny the connection
+ writeConfigFile(mainFile, true);
+
+ reg.getConfiguration().reparseConfigFileSecuritySections();
+
+ assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ }
+ finally
+ {
+ ApplicationRegistry.remove(1);
+ }
}
private void writeConfigFile(File mainFile, boolean allow) throws IOException {
@@ -974,45 +993,52 @@ public class ServerConfigurationTest extends TestCase
// Load config
ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile);
- ApplicationRegistry.initialise(reg, 1);
+ try
+ {
+ ApplicationRegistry.initialise(reg, 1);
- // Test config
- TestNetworkDriver testDriver = new TestNetworkDriver();
- testDriver.setRemoteAddress("127.0.0.1");
- VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry();
- VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test");
- AMQProtocolSession session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
- assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ // Test config
+ TestNetworkDriver testDriver = new TestNetworkDriver();
+ testDriver.setRemoteAddress("127.0.0.1");
+ VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry();
+ VirtualHost virtualHost = virtualHostRegistry.getVirtualHost("test");
+ AMQProtocolSession session = new AMQProtocolEngine(virtualHostRegistry, testDriver);
+ assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
- RandomAccessFile fileBRandom = new RandomAccessFile(fileB, "rw");
- fileBRandom.setLength(0);
- fileBRandom.seek(0);
- fileBRandom.close();
+ RandomAccessFile fileBRandom = new RandomAccessFile(fileB, "rw");
+ fileBRandom.setLength(0);
+ fileBRandom.seek(0);
+ fileBRandom.close();
- out = new FileWriter(fileB);
- out.write("<firewall>\n");
- out.write("\t<rule access=\"allow\" network=\"127.0.0.1\"/>");
- out.write("</firewall>\n");
- out.close();
+ out = new FileWriter(fileB);
+ out.write("<firewall>\n");
+ out.write("\t<rule access=\"allow\" network=\"127.0.0.1\"/>");
+ out.write("</firewall>\n");
+ out.close();
- reg.getConfiguration().reparseConfigFileSecuritySections();
+ reg.getConfiguration().reparseConfigFileSecuritySections();
- assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost));
- fileBRandom = new RandomAccessFile(fileB, "rw");
- fileBRandom.setLength(0);
- fileBRandom.seek(0);
- fileBRandom.close();
+ fileBRandom = new RandomAccessFile(fileB, "rw");
+ fileBRandom.setLength(0);
+ fileBRandom.seek(0);
+ fileBRandom.close();
- out = new FileWriter(fileB);
- out.write("<firewall>\n");
- out.write("\t<rule access=\"deny\" network=\"127.0.0.1\"/>");
- out.write("</firewall>\n");
- out.close();
+ out = new FileWriter(fileB);
+ out.write("<firewall>\n");
+ out.write("\t<rule access=\"deny\" network=\"127.0.0.1\"/>");
+ out.write("</firewall>\n");
+ out.close();
- reg.getConfiguration().reparseConfigFileSecuritySections();
+ reg.getConfiguration().reparseConfigFileSecuritySections();
- assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
+ }
+ finally
+ {
+ ApplicationRegistry.remove(1);
+ }
}
public void testnewParserOutputVsOldParserOutput() throws ConfigurationException
@@ -1038,11 +1064,18 @@ public class ServerConfigurationTest extends TestCase
File configFile = new File(System.getProperty("QPID_HOME")+"/etc/config.xml");
assertTrue(configFile.exists());
- ApplicationRegistry.initialise(new ConfigurationFileApplicationRegistry(configFile), REGISTRY);
+ try
+ {
+ ApplicationRegistry.initialise(new ConfigurationFileApplicationRegistry(configFile), REGISTRY);
- VirtualHostRegistry virtualHostRegistry = ApplicationRegistry.getInstance(REGISTRY).getVirtualHostRegistry();
+ VirtualHostRegistry virtualHostRegistry = ApplicationRegistry.getInstance(REGISTRY).getVirtualHostRegistry();
- assertEquals("Incorrect virtualhost count", 3 , virtualHostRegistry.getVirtualHosts().size());
+ assertEquals("Incorrect virtualhost count", 3 , virtualHostRegistry.getVirtualHosts().size());
+ }
+ finally
+ {
+ ApplicationRegistry.remove(REGISTRY);
+ }
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java b/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
index b65020395c..683343aa14 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
@@ -22,12 +22,12 @@ package org.apache.qpid.server.configuration;
import junit.framework.TestCase;
import org.apache.commons.configuration.XMLConfiguration;
+
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.queue.AMQPriorityQueue;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.registry.ApplicationRegistry;
import org.apache.qpid.server.virtualhost.VirtualHost;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
public class VirtualHostConfigurationTest extends TestCase
{
@@ -39,8 +39,6 @@ public class VirtualHostConfigurationTest extends TestCase
protected void setUp() throws Exception
{
super.setUp();
- //Highlight that this test will cause a new AR to be created
- ApplicationRegistry.getInstance();
// Fill config file with stuff
configXml = new XMLConfiguration();
configXml.setRootElementName("virtualhosts");
@@ -49,39 +47,37 @@ public class VirtualHostConfigurationTest extends TestCase
public void tearDown() throws Exception
{
- //Correctly close the AR we created
- ApplicationRegistry.remove();
-
super.tearDown();
}
public void testQueuePriority() throws Exception
{
+ configXml.addProperty("virtualhost.testQueuePriority.name", "testQueuePriority");
// Set up queue with 5 priorities
- configXml.addProperty("virtualhost.test.queues(-1).queue(-1).name(-1)",
+ configXml.addProperty("virtualhost.testQueuePriority.queues(-1).queue(-1).name(-1)",
"atest");
- configXml.addProperty("virtualhost.test.queues.queue.atest(-1).exchange",
+ configXml.addProperty("virtualhost.testQueuePriority.queues.queue.atest(-1).exchange",
"amq.direct");
- configXml.addProperty("virtualhost.test.queues.queue.atest.priorities",
+ configXml.addProperty("virtualhost.testQueuePriority.queues.queue.atest.priorities",
"5");
// Set up queue with JMS style priorities
- configXml.addProperty("virtualhost.test.queues(-1).queue(-1).name(-1)",
+ configXml.addProperty("virtualhost.testQueuePriority.queues(-1).queue(-1).name(-1)",
"ptest");
- configXml.addProperty("virtualhost.test.queues.queue.ptest(-1).exchange",
+ configXml.addProperty("virtualhost.testQueuePriority.queues.queue.ptest(-1).exchange",
"amq.direct");
- configXml.addProperty("virtualhost.test.queues.queue.ptest.priority",
+ configXml.addProperty("virtualhost.testQueuePriority.queues.queue.ptest.priority",
"true");
// Set up queue with no priorities
- configXml.addProperty("virtualhost.test.queues(-1).queue(-1).name(-1)",
+ configXml.addProperty("virtualhost.testQueuePriority.queues(-1).queue(-1).name(-1)",
"ntest");
- configXml.addProperty("virtualhost.test.queues.queue.ntest(-1).exchange",
+ configXml.addProperty("virtualhost.testQueuePriority.queues.queue.ntest(-1).exchange",
"amq.direct");
- configXml.addProperty("virtualhost.test.queues.queue.ntest.priority",
+ configXml.addProperty("virtualhost.testQueuePriority.queues.queue.ntest.priority",
"false");
- VirtualHost vhost = new VirtualHostImpl(new VirtualHostConfiguration("test", configXml.subset("virtualhost.test")));
+ VirtualHost vhost = ApplicationRegistry.getInstance().createVirtualHost(new VirtualHostConfiguration("testQueuePriority", configXml.subset("virtualhost.testQueuePriority")));
// Check that atest was a priority queue with 5 priorities
AMQQueue atest = vhost.getQueueRegistry().getQueue(new AMQShortString("atest"));
@@ -96,25 +92,29 @@ public class VirtualHostConfigurationTest extends TestCase
// Check that ntest wasn't a priority queue
AMQQueue ntest = vhost.getQueueRegistry().getQueue(new AMQShortString("ntest"));
assertFalse(ntest instanceof AMQPriorityQueue);
+
+ ApplicationRegistry.remove();
+
}
public void testQueueAlerts() throws Exception
{
+ configXml.addProperty("virtualhost.testQueueAlerts.name", "testQueueAlerts");
// Set up queue with 5 priorities
- configXml.addProperty("virtualhost.test.queues.exchange", "amq.topic");
- configXml.addProperty("virtualhost.test.queues.maximumQueueDepth", "1");
- configXml.addProperty("virtualhost.test.queues.maximumMessageSize", "2");
- configXml.addProperty("virtualhost.test.queues.maximumMessageAge", "3");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues.exchange", "amq.topic");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues.maximumQueueDepth", "1");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues.maximumMessageSize", "2");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues.maximumMessageAge", "3");
- configXml.addProperty("virtualhost.test.queues(-1).queue(1).name(1)", "atest");
- configXml.addProperty("virtualhost.test.queues.queue.atest(-1).exchange", "amq.direct");
- configXml.addProperty("virtualhost.test.queues.queue.atest(-1).maximumQueueDepth", "4");
- configXml.addProperty("virtualhost.test.queues.queue.atest(-1).maximumMessageSize", "5");
- configXml.addProperty("virtualhost.test.queues.queue.atest(-1).maximumMessageAge", "6");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues(-1).queue(1).name(1)", "atest");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues.queue.atest(-1).exchange", "amq.direct");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues.queue.atest(-1).maximumQueueDepth", "4");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues.queue.atest(-1).maximumMessageSize", "5");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues.queue.atest(-1).maximumMessageAge", "6");
- configXml.addProperty("virtualhost.test.queues(-1).queue(-1).name(-1)", "btest");
+ configXml.addProperty("virtualhost.testQueueAlerts.queues(-1).queue(-1).name(-1)", "btest");
- VirtualHost vhost = new VirtualHostImpl(new VirtualHostConfiguration("test", configXml.subset("virtualhost.test")));
+ VirtualHost vhost = ApplicationRegistry.getInstance().createVirtualHost(new VirtualHostConfiguration("testQueueAlerts", configXml.subset("virtualhost.testQueueAlerts")));
// Check specifically configured values
AMQQueue aTest = vhost.getQueueRegistry().getQueue(new AMQShortString("atest"));
@@ -128,6 +128,9 @@ public class VirtualHostConfigurationTest extends TestCase
assertEquals(2, bTest.getMaximumMessageSize());
assertEquals(3, bTest.getMaximumMessageAge());
+ ApplicationRegistry.remove();
+
+
}
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java b/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
index e26b5b048c..06d5d80ac1 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
@@ -21,23 +21,41 @@
package org.apache.qpid.server.exchange;
import junit.framework.TestCase;
+import org.apache.log4j.Logger;
+
import org.apache.qpid.AMQException;
-import org.apache.qpid.framing.*;
+import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.framing.BasicContentHeaderProperties;
+import org.apache.qpid.framing.ContentBody;
+import org.apache.qpid.framing.ContentHeaderBody;
+import org.apache.qpid.framing.FieldTable;
+import org.apache.qpid.framing.FieldTableFactory;
import org.apache.qpid.framing.abstraction.MessagePublishInfo;
-import org.apache.qpid.server.queue.*;
+import org.apache.qpid.server.binding.BindingFactory;
+import org.apache.qpid.server.message.AMQMessage;
+import org.apache.qpid.server.message.AMQMessageHeader;
+import org.apache.qpid.server.message.MessageMetaData;
+import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.protocol.AMQProtocolSession;
+import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.queue.BaseQueue;
+import org.apache.qpid.server.queue.IncomingMessage;
+import org.apache.qpid.server.queue.MockStoredMessage;
+import org.apache.qpid.server.queue.QueueEntry;
+import org.apache.qpid.server.queue.SimpleAMQQueue;
import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.MessageStore;
+import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.MemoryMessageStore;
+import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.StoredMessage;
-import org.apache.qpid.server.message.ServerMessage;
-import org.apache.qpid.server.message.AMQMessageHeader;
-import org.apache.qpid.server.message.AMQMessage;
-import org.apache.qpid.server.message.MessageMetaData;
import org.apache.qpid.server.subscription.Subscription;
-import org.apache.qpid.server.protocol.AMQProtocolSession;
-import org.apache.log4j.Logger;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
public class AbstractHeadersExchangeTestBase extends TestCase
@@ -47,11 +65,24 @@ public class AbstractHeadersExchangeTestBase extends TestCase
private final HeadersExchange exchange = new HeadersExchange();
protected final Set<TestQueue> queues = new HashSet<TestQueue>();
+
+
/**
* Not used in this test, just there to stub out the routing calls
*/
private MessageStore _store = new MemoryMessageStore();
+
+ BindingFactory bindingFactory = new BindingFactory(new DurableConfigurationStore.Source()
+ {
+
+ public DurableConfigurationStore getDurableConfigurationStore()
+ {
+ return _store;
+ }
+ },
+ exchange);
+
private int count;
public void testDoNothing()
@@ -93,7 +124,7 @@ public class AbstractHeadersExchangeTestBase extends TestCase
m.route(exchange);
if(m.getIncomingMessage().allContentReceived())
{
- for(AMQQueue q : m.getIncomingMessage().getDestinationQueues())
+ for(BaseQueue q : m.getIncomingMessage().getDestinationQueues())
{
q.enqueue(m);
}
@@ -241,15 +272,17 @@ public class AbstractHeadersExchangeTestBase extends TestCase
public String toString()
{
- return getName().toString();
+ return getNameShortString().toString();
}
public TestQueue(AMQShortString name) throws AMQException
{
- super(name, false, new AMQShortString("test"), true, ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test"));
+ super(name, false, new AMQShortString("test"), true, ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test"),Collections.EMPTY_MAP);
ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test").getQueueRegistry().registerQueue(this);
}
+
+
/**
* We override this method so that the default behaviour, which attempts to use a delivery manager, is
* not invoked. It is unnecessary since for this test we only care to know whether the message was
@@ -258,10 +291,10 @@ public class AbstractHeadersExchangeTestBase extends TestCase
* @throws AMQException
*/
@Override
- public QueueEntry enqueue(ServerMessage msg) throws AMQException
+ public void enqueue(ServerMessage msg, PostEnqueueAction action) throws AMQException
{
messages.add( new HeadersExchangeTest.Message((AMQMessage) msg));
- return new QueueEntry()
+ final QueueEntry queueEntry = new QueueEntry()
{
public AMQQueue getQueue()
@@ -289,6 +322,11 @@ public class AbstractHeadersExchangeTestBase extends TestCase
return false; //To change body of implemented methods use File | Settings | File Templates.
}
+ public boolean isAvailable()
+ {
+ return false; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
public boolean isAcquired()
{
return false; //To change body of implemented methods use File | Settings | File Templates.
@@ -439,6 +477,12 @@ public class AbstractHeadersExchangeTestBase extends TestCase
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
};
+
+ if(action != null)
+ {
+ action.onEnqueue(queueEntry);
+ }
+
}
boolean isInQueue(Message msg)
diff --git a/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java b/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java
index 016f7eacbe..b26c71a524 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java
@@ -29,7 +29,6 @@ import org.apache.qpid.server.queue.AMQQueueFactory;
import org.apache.qpid.server.registry.ApplicationRegistry;
import org.apache.qpid.server.registry.IApplicationRegistry;
import org.apache.qpid.server.management.ManagedObject;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
import org.apache.qpid.server.virtualhost.VirtualHost;
import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.framing.AMQShortString;
@@ -58,8 +57,8 @@ public class ExchangeMBeanTest extends TestCase
ManagedObject managedObj = exchange.getManagedObject();
ManagedExchange mbean = (ManagedExchange)managedObj;
- mbean.createNewBinding(_queue.getName().toString(), "binding1");
- mbean.createNewBinding(_queue.getName().toString(), "binding2");
+ mbean.createNewBinding(_queue.getNameShortString().toString(), "binding1");
+ mbean.createNewBinding(_queue.getNameShortString().toString(), "binding2");
TabularData data = mbean.bindings();
ArrayList<Object> list = new ArrayList<Object>(data.values());
@@ -85,8 +84,8 @@ public class ExchangeMBeanTest extends TestCase
ManagedObject managedObj = exchange.getManagedObject();
ManagedExchange mbean = (ManagedExchange)managedObj;
- mbean.createNewBinding(_queue.getName().toString(), "binding1");
- mbean.createNewBinding(_queue.getName().toString(), "binding2");
+ mbean.createNewBinding(_queue.getNameShortString().toString(), "binding1");
+ mbean.createNewBinding(_queue.getNameShortString().toString(), "binding2");
TabularData data = mbean.bindings();
ArrayList<Object> list = new ArrayList<Object>(data.values());
@@ -112,8 +111,8 @@ public class ExchangeMBeanTest extends TestCase
ManagedObject managedObj = exchange.getManagedObject();
ManagedExchange mbean = (ManagedExchange)managedObj;
- mbean.createNewBinding(_queue.getName().toString(), "key1=binding1,key2=binding2");
- mbean.createNewBinding(_queue.getName().toString(), "key3=binding3");
+ mbean.createNewBinding(_queue.getNameShortString().toString(), "key1=binding1,key2=binding2");
+ mbean.createNewBinding(_queue.getNameShortString().toString(), "key3=binding3");
TabularData data = mbean.bindings();
ArrayList<Object> list = new ArrayList<Object>(data.values());
diff --git a/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java b/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
index dc47951548..1e56a32383 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
@@ -83,6 +83,16 @@ public class HeadersBindingTest extends TestCase
return null;
}
+ public String getReplyToExchange()
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public String getReplyToRoutingKey()
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
public Object getHeader(String name)
{
return _headers.get(name);
diff --git a/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java b/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
index 9d7a323b6d..daa0377e0a 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
@@ -67,11 +67,8 @@ public class TopicExchangeTest extends TestCase
_exchange.registerQueue(new AMQShortString("a.*.#.b"), queue, null);
- MessagePublishInfo info = new PublishInfo(new AMQShortString("a.b"));
-
- IncomingMessage message = new IncomingMessage(info);
-
- message.enqueue(_exchange.route(message));
+ IncomingMessage message = createMessage("a.b");
+ routeMessage(message);
Assert.assertEquals(0, queue.getMessageCount());
}
@@ -357,7 +354,7 @@ public class TopicExchangeTest extends TestCase
message.enqueue(_exchange.route(message));
AMQMessage msg = new AMQMessage(message.getStoredMessage());
- for(AMQQueue q : message.getDestinationQueues())
+ for(BaseQueue q : message.getDestinationQueues())
{
q.enqueue(msg);
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
index 072f671fec..174576b473 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
@@ -37,8 +37,8 @@ public class ExchangeMessagesTest extends AbstractTestMessages
getVirtualHostRegistry().getVirtualHost("test").
getExchangeRegistry().getDefaultExchange();
- String type = exchange.getType().toString();
- String name = exchange.getName().toString();
+ String type = exchange.getTypeShortString().toString();
+ String name = exchange.getNameShortString().toString();
_logMessage = ExchangeMessages.EXH_CREATED(type, name, false);
List<Object> log = performLog();
@@ -55,8 +55,8 @@ public class ExchangeMessagesTest extends AbstractTestMessages
getVirtualHostRegistry().getVirtualHost("test").
getExchangeRegistry().getDefaultExchange();
- String type = exchange.getType().toString();
- String name = exchange.getName().toString();
+ String type = exchange.getTypeShortString().toString();
+ String name = exchange.getNameShortString().toString();
_logMessage = ExchangeMessages.EXH_CREATED(type, name, true);
List<Object> log = performLog();
diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java
index 905d63ea09..4d75a899be 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java
@@ -50,7 +50,7 @@ import java.util.List;
* validate this class then performs a log statement with logging enabled and
* logging disabled.
*
- * The resulting log file is then validated.
+ * The resulting log file is then validated.
*
*/
public abstract class AbstractTestLogSubject extends TestCase
@@ -177,7 +177,7 @@ public abstract class AbstractTestLogSubject extends TestCase
assertNotNull("Queue not found:" + message, queueSlice);
assertEquals("Queue name not correct",
- queue.getName().toString(), queueSlice);
+ queue.getNameShortString().toString(), queueSlice);
}
/**
@@ -199,10 +199,10 @@ public abstract class AbstractTestLogSubject extends TestCase
exchangeParts.length);
assertEquals("Exchange type not correct",
- exchange.getType().toString(), exchangeParts[0]);
+ exchange.getTypeShortString().toString(), exchangeParts[0]);
assertEquals("Exchange name not correct",
- exchange.getName().toString(), exchangeParts[1]);
+ exchange.getNameShortString().toString(), exchangeParts[1]);
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java
index 6319238841..279628501c 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java
@@ -50,7 +50,7 @@ public class BindingLogSubjectTest extends AbstractTestLogSubject
_queue = new MockAMQQueue("BindingLogSubjectTest");
((MockAMQQueue) _queue).setVirtualHost(_testVhost);
- _subject = new BindingLogSubject(_routingKey, _exchange, _queue);
+ _subject = new BindingLogSubject(String.valueOf(_routingKey), _exchange, _queue);
}
/**
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java
index 4e5ba0213a..ea89d026ff 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java
@@ -302,7 +302,7 @@ public class AMQQueueMBeanTest extends TestCase
});
AMQMessage m = new AMQMessage(msg.getStoredMessage());
- for(AMQQueue q : msg.getDestinationQueues())
+ for(BaseQueue q : msg.getDestinationQueues())
{
q.enqueue(m);
}
@@ -463,7 +463,7 @@ public class AMQQueueMBeanTest extends TestCase
MESSAGE_SIZE)));
AMQMessage m = new AMQMessage(currentMessage.getStoredMessage());
- for(AMQQueue q : currentMessage.getDestinationQueues())
+ for(BaseQueue q : currentMessage.getDestinationQueues())
{
q.enqueue(m);
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java b/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java
index a487b160e1..10a828d07c 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java
@@ -22,7 +22,7 @@ package org.apache.qpid.server.queue;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.FieldTable;
-import org.apache.qpid.server.configuration.QueueConfiguration;
+import org.apache.qpid.server.configuration.*;
import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.subscription.Subscription;
import org.apache.qpid.server.virtualhost.VirtualHost;
@@ -30,12 +30,14 @@ import org.apache.qpid.server.management.ManagedObject;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.security.PrincipalHolder;
import org.apache.qpid.server.AMQChannel;
+import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.txn.ServerTransaction;
import org.apache.qpid.AMQException;
import java.util.List;
import java.util.Set;
import java.util.Map;
+import java.util.UUID;
public class MockAMQQueue implements AMQQueue
{
@@ -58,17 +60,107 @@ public class MockAMQQueue implements AMQQueue
}
public void setDeleteOnNoConsumers(boolean b)
- {
+ {
+ }
+
+ public void addBinding(final Binding binding)
+ {
+
+ }
+
+ public void removeBinding(final Binding binding)
+ {
+
+ }
+
+ public List<Binding> getBindings()
+ {
+ return null;
+ }
+
+ public int getBindingCount()
+ {
+ return 0;
+ }
+
+ public ConfigStore getConfigStore()
+ {
+ return getVirtualHost().getConfigStore();
+ }
+
+ public long getMessageDequeueCount()
+ {
+ return 0;
+ }
+
+ public long getTotalEnqueueSize()
+ {
+ return 0;
}
- public AMQShortString getName()
+ public long getTotalDequeueSize()
+ {
+ return 0;
+ }
+
+ public int getBindingCountHigh()
+ {
+ return 0;
+ }
+
+ public long getPersistentByteEnqueues()
+ {
+ return 0;
+ }
+
+ public long getPersistentByteDequeues()
+ {
+ return 0;
+ }
+
+ public long getPersistentMsgEnqueues()
+ {
+ return 0;
+ }
+
+ public long getPersistentMsgDequeues()
+ {
+ return 0;
+ }
+
+ public void purge(final long request)
+ {
+
+ }
+
+ public long getCreateTime()
+ {
+ return 0;
+ }
+
+ public AMQShortString getNameShortString()
{
return _name;
}
public void setNoLocal(boolean b)
{
-
+
+ }
+
+ public UUID getId()
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public QueueConfigType getConfigType()
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public ConfiguredObject getParent()
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
}
public boolean isDurable()
@@ -96,6 +188,11 @@ public class MockAMQQueue implements AMQQueue
return _virtualhost;
}
+ public String getName()
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
public void bind(Exchange exchange, AMQShortString routingKey, FieldTable arguments) throws AMQException
{
//To change body of implemented methods use File | Settings | File Templates.
@@ -106,10 +203,6 @@ public class MockAMQQueue implements AMQQueue
//To change body of implemented methods use File | Settings | File Templates.
}
- public List<ExchangeBinding> getExchangeBindings()
- {
- return null; //To change body of implemented methods use File | Settings | File Templates.
- }
public void registerSubscription(Subscription subscription, boolean exclusive) throws AMQException
{
@@ -131,6 +224,11 @@ public class MockAMQQueue implements AMQQueue
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
+ public boolean hasExclusiveSubscriber()
+ {
+ return false;
+ }
+
public boolean isUnused()
{
return false; //To change body of implemented methods use File | Settings | File Templates.
@@ -176,11 +274,15 @@ public class MockAMQQueue implements AMQQueue
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
- public QueueEntry enqueue(ServerMessage message) throws AMQException
+ public void enqueue(ServerMessage message) throws AMQException
+ {
+ }
+
+ public void enqueue(ServerMessage message, PostEnqueueAction action) throws AMQException
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
}
+
public void requeue(QueueEntry entry)
{
//To change body of implemented methods use File | Settings | File Templates.
@@ -206,6 +308,11 @@ public class MockAMQQueue implements AMQQueue
//To change body of implemented methods use File | Settings | File Templates.
}
+ public void removeQueueDeleteTask(final Task task)
+ {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
public List<QueueEntry> getMessagesOnTheQueue()
{
return null; //To change body of implemented methods use File | Settings | File Templates.
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/MockQueueEntry.java b/java/broker/src/test/java/org/apache/qpid/server/queue/MockQueueEntry.java
index 3f74cb973b..8b894c9629 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/queue/MockQueueEntry.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/queue/MockQueueEntry.java
@@ -85,6 +85,11 @@ public class MockQueueEntry implements QueueEntry
return false;
}
+ public boolean isAvailable()
+ {
+ return false;
+ }
+
public Subscription getDeliveredSubscription()
{
return null;
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java b/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java
index 408893870b..2abeb7ed30 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java
@@ -21,12 +21,9 @@ package org.apache.qpid.server.queue;
*/
-import java.util.ArrayList;
-import java.util.List;
-
import junit.framework.TestCase;
-
import org.apache.commons.configuration.PropertiesConfiguration;
+
import org.apache.qpid.AMQException;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.BasicContentHeaderProperties;
@@ -35,17 +32,21 @@ import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.framing.abstraction.MessagePublishInfo;
import org.apache.qpid.server.configuration.VirtualHostConfiguration;
import org.apache.qpid.server.exchange.DirectExchange;
+import org.apache.qpid.server.message.AMQMessage;
+import org.apache.qpid.server.message.MessageMetaData;
import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.TestableMemoryMessageStore;
import org.apache.qpid.server.store.StoredMessage;
+import org.apache.qpid.server.store.TestableMemoryMessageStore;
import org.apache.qpid.server.subscription.MockSubscription;
import org.apache.qpid.server.subscription.Subscription;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
-import org.apache.qpid.server.virtualhost.VirtualHost;
import org.apache.qpid.server.txn.AutoCommitTransaction;
import org.apache.qpid.server.txn.ServerTransaction;
-import org.apache.qpid.server.message.AMQMessage;
-import org.apache.qpid.server.message.MessageMetaData;
+import org.apache.qpid.server.virtualhost.VirtualHost;
+import org.apache.qpid.server.virtualhost.VirtualHostImpl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
public class SimpleAMQQueueTest extends TestCase
{
@@ -124,7 +125,7 @@ public class SimpleAMQQueueTest extends TestCase
}
try {
- _queue = new SimpleAMQQueue(_qname, false, _owner, false, null);
+ _queue = new SimpleAMQQueue(_qname, false, _owner, false, null,Collections.EMPTY_MAP);
assertNull("Queue was created", _queue);
}
catch (IllegalArgumentException e)
@@ -145,31 +146,23 @@ public class SimpleAMQQueueTest extends TestCase
public void testBinding()
{
- try
- {
- _queue.bind(_exchange, _routingKey, null);
- assertTrue("Routing key was not bound",
- _exchange.getBindings().containsKey(_routingKey));
- assertEquals("Queue was not bound to key",
- _exchange.getBindings().get(_routingKey).get(0),
- _queue);
- assertEquals("Exchange binding count", 1,
- _queue.getExchangeBindings().size());
- assertEquals("Wrong exchange bound", _routingKey,
- _queue.getExchangeBindings().get(0).getRoutingKey());
- assertEquals("Wrong exchange bound", _exchange,
- _queue.getExchangeBindings().get(0).getExchange());
-
- _queue.unBind(_exchange, _routingKey, null);
- assertFalse("Routing key was still bound",
- _exchange.getBindings().containsKey(_routingKey));
- assertNull("Routing key was not empty",
- _exchange.getBindings().get(_routingKey));
- }
- catch (AMQException e)
- {
- assertNull("Unexpected exception", e);
- }
+ _virtualHost.getBindingFactory().addBinding(String.valueOf(_routingKey), _queue, _exchange, Collections.EMPTY_MAP);
+
+ assertTrue("Routing key was not bound",
+ _exchange.isBound(_routingKey));
+ assertTrue("Queue was not bound to key",
+ _exchange.isBound(_routingKey,_queue));
+ assertEquals("Exchange binding count", 1,
+ _queue.getBindings().size());
+ assertEquals("Wrong exchange bound", String.valueOf(_routingKey),
+ _queue.getBindings().get(0).getBindingKey());
+ assertEquals("Wrong exchange bound", _exchange,
+ _queue.getBindings().get(0).getExchange());
+
+ _virtualHost.getBindingFactory().removeBinding(String.valueOf(_routingKey), _queue, _exchange, Collections.EMPTY_MAP);
+ assertFalse("Routing key was still bound",
+ _exchange.isBound(_routingKey));
+
}
public void testSubscription() throws AMQException
@@ -258,7 +251,7 @@ public class SimpleAMQQueueTest extends TestCase
public void testAutoDeleteQueue() throws Exception
{
_queue.stop();
- _queue = new SimpleAMQQueue(_qname, false, null, true, _virtualHost);
+ _queue = new SimpleAMQQueue(_qname, false, null, true, _virtualHost, Collections.EMPTY_MAP);
_queue.setDeleteOnNoConsumers(true);
_queue.registerSubscription(_subscription, false);
AMQMessage message = createMessage(new Long(25));
@@ -409,7 +402,7 @@ public class SimpleAMQQueueTest extends TestCase
((BasicContentHeaderProperties) contentHeaderBody.properties).setDeliveryMode((byte) 2);
msg.setContentHeaderBody(contentHeaderBody);
- final ArrayList<AMQQueue> qs = new ArrayList<AMQQueue>();
+ final ArrayList<BaseQueue> qs = new ArrayList<BaseQueue>();
// Send persistent message
diff --git a/java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java b/java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java
index 4c8ff01be0..cadde1288b 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java
@@ -50,7 +50,7 @@ public class ApplicationRegistryShutdownTest extends TestCase
@Override
public void tearDown() throws Exception
{
- // Correctly Close the AR we created
+ // Correctly Close the AR we created
ApplicationRegistry.remove();
}
@@ -58,22 +58,15 @@ public class ApplicationRegistryShutdownTest extends TestCase
/**
* QPID-1399 : Ensure that the Authentiction manager unregisters any SASL providers created during
* ApplicationRegistry initialisation.
- *
+ *
*/
- public void testAuthenticationMangerCleansUp()
+ public void testAuthenticationMangerCleansUp() throws Exception
{
// Get default providers
Provider[] defaultProviders = Security.getProviders();
// Register new providers
- try
- {
- _registry.initialise(ApplicationRegistry.DEFAULT_INSTANCE);
- }
- catch (Exception e)
- {
- fail(e.getMessage());
- }
+ ApplicationRegistry.initialise(_registry, ApplicationRegistry.DEFAULT_INSTANCE);
// Get the providers after initialisation
Provider[] providersAfterInitialisation = Security.getProviders();
@@ -103,16 +96,9 @@ public class ApplicationRegistryShutdownTest extends TestCase
assertTrue("No new SASL mechanisms added by initialisation.", additions.size() != 0 );
//Close the registry which will perform the close the AuthenticationManager
- try
- {
- _registry.close();
- }
- catch (Exception e)
- {
- fail(e.getMessage());
- }
+ _registry.close();
- //Validate that the SASL plugins have been removed.
+ //Validate that the SASL plugFins have been removed.
Provider[] providersAfterClose = Security.getProviders();
assertTrue("No providers unregistered", providersAfterInitialisation.length > providersAfterClose.length);
diff --git a/java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java b/java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java
index 73e9dac775..df466380b9 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java
@@ -23,19 +23,16 @@ package org.apache.qpid.server.security.access;
import junit.framework.TestCase;
-import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.framing.amqp_0_9.ExchangeDeclareBodyImpl;
import org.apache.qpid.framing.amqp_8_0.QueueBindBodyImpl;
-import org.apache.qpid.server.configuration.VirtualHostConfiguration;
import org.apache.qpid.server.exchange.DirectExchange;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.queue.AMQQueueFactory;
+import org.apache.qpid.server.registry.ApplicationRegistry;
import org.apache.qpid.server.security.access.ACLPlugin.AuthzResult;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
import org.apache.qpid.server.virtualhost.VirtualHost;
-import org.apache.qpid.server.registry.ApplicationRegistry;
public class PrincipalPermissionsTest extends TestCase
{
@@ -74,8 +71,7 @@ public class PrincipalPermissionsTest extends TestCase
_perms = new PrincipalPermissions(_user);
try
{
- PropertiesConfiguration env = new PropertiesConfiguration();
- _virtualHost = new VirtualHostImpl(new VirtualHostConfiguration("test", env));
+ _virtualHost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test");
_exchange = DirectExchange.TYPE.newInstance(_virtualHost, _exchangeName, _durable, _ticket, _autoDelete);
_queue = AMQQueueFactory.createAMQQueueImpl(_queueName, false, _owner , false, _virtualHost, _arguments);
_temporaryQueue = AMQQueueFactory.createAMQQueueImpl(_tempQueueName, false, _owner , true, _virtualHost, _arguments);
@@ -106,7 +102,7 @@ public class PrincipalPermissionsTest extends TestCase
{
QueueBindBodyImpl bind = new QueueBindBodyImpl(_ticket, _queueName, _exchangeName, _routingKey, _nowait, _arguments);
Object[] args = new Object[]{bind, _exchange, _queue, _routingKey};
-
+
assertEquals(AuthzResult.DENIED, _perms.authorise(Permission.BIND, args));
_perms.grant(Permission.BIND, (Object[]) null);
assertEquals(AuthzResult.ALLOWED, _perms.authorise(Permission.BIND, args));
@@ -116,7 +112,7 @@ public class PrincipalPermissionsTest extends TestCase
{
Object[] grantArgs = new Object[]{_temporary , _queueName, _exchangeName, _routingKey};
Object[] authArgs = new Object[]{_autoDelete, _queueName};
-
+
assertEquals(AuthzResult.DENIED, _perms.authorise(Permission.CREATEQUEUE, authArgs));
_perms.grant(Permission.CREATEQUEUE, grantArgs);
assertEquals(AuthzResult.ALLOWED, _perms.authorise(Permission.CREATEQUEUE, authArgs));
@@ -157,12 +153,12 @@ public class PrincipalPermissionsTest extends TestCase
_perms.grant(Permission.CONSUME, grantArgs);
assertEquals(AuthzResult.ALLOWED, _perms.authorise(Permission.CONSUME, authArgs));
}
-
+
public void testPublish()
{
Object[] authArgs = new Object[]{_exchange, _routingKey};
- Object[] grantArgs = new Object[]{_exchange.getName(), _routingKey};
-
+ Object[] grantArgs = new Object[]{_exchange.getNameShortString(), _routingKey};
+
assertEquals(AuthzResult.DENIED, _perms.authorise(Permission.PUBLISH, authArgs));
_perms.grant(Permission.PUBLISH, grantArgs);
assertEquals(AuthzResult.ALLOWED, _perms.authorise(Permission.PUBLISH, authArgs));
@@ -171,28 +167,28 @@ public class PrincipalPermissionsTest extends TestCase
public void testVhostAccess()
{
//Tests that granting a user Virtualhost level access allows all authorisation requests
- //where previously they would be denied
-
+ //where previously they would be denied
+
//QPID-2133 createExchange rights currently allow all exchange creation unless rights for creating some
//specific exchanges are granted. Grant a specific exchange creation to cause all others to be denied.
Object[] createArgsCreateExchange = new Object[]{new AMQShortString("madeup"), _exchangeType};
Object[] authArgsCreateExchange = new Object[]{_exchangeName,_exchangeType};
assertEquals("Exchange creation was not allowed", AuthzResult.ALLOWED, _perms.authorise(Permission.CREATEEXCHANGE, authArgsCreateExchange));
_perms.grant(Permission.CREATEEXCHANGE, createArgsCreateExchange);
-
- Object[] authArgsPublish = new Object[]{_exchange, _routingKey};
+
+ Object[] authArgsPublish = new Object[]{_exchange, _routingKey};
Object[] authArgsConsume = new Object[]{_queue};
Object[] authArgsCreateQueue = new Object[]{_autoDelete, _queueName};
QueueBindBodyImpl bind = new QueueBindBodyImpl(_ticket, _queueName, _exchangeName, _routingKey, _nowait, _arguments);
Object[] authArgsBind = new Object[]{bind, _exchange, _queue, _routingKey};
-
+
assertEquals("Exchange creation was not denied", AuthzResult.DENIED, _perms.authorise(Permission.CREATEEXCHANGE, authArgsCreateExchange));
assertEquals("Publish was not denied", AuthzResult.DENIED, _perms.authorise(Permission.PUBLISH, authArgsPublish));
assertEquals("Consume creation was not denied", AuthzResult.DENIED, _perms.authorise(Permission.CONSUME, authArgsConsume));
assertEquals("Queue creation was not denied", AuthzResult.DENIED, _perms.authorise(Permission.CREATEQUEUE, authArgsCreateQueue));
//BIND pre-grant authorise check disabled due to QPID-1597
//assertEquals("Binding creation was not denied", AuthzResult.DENIED, _perms.authorise(Permission.BIND, authArgsBind));
-
+
_perms.grant(Permission.ACCESS);
assertEquals("Exchange creation was not allowed", AuthzResult.ALLOWED, _perms.authorise(Permission.CREATEEXCHANGE, authArgsCreateExchange));
diff --git a/java/broker/src/test/java/org/apache/qpid/server/security/access/QueueDenier.java b/java/broker/src/test/java/org/apache/qpid/server/security/access/QueueDenier.java
index 5b76bf7532..3f9c776aa2 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/security/access/QueueDenier.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/security/access/QueueDenier.java
@@ -49,7 +49,7 @@ public class QueueDenier extends AllowAll
@Override
public AuthzResult authoriseDelete(PrincipalHolder session, AMQQueue queue)
{
- if (!(queue.getName().toString().equals(_queueName)))
+ if (!(queue.getNameShortString().toString().equals(_queueName)))
{
return AuthzResult.ALLOWED;
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java b/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java
index e011301f06..2427e28e70 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java
@@ -21,33 +21,39 @@
package org.apache.qpid.server.store;
import junit.framework.TestCase;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.PropertiesConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.qpid.AMQException;
+import org.apache.qpid.common.AMQPFilterTypes;
+import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.framing.BasicContentHeaderProperties;
+import org.apache.qpid.framing.ContentHeaderBody;
+import org.apache.qpid.framing.FieldTable;
+import org.apache.qpid.framing.abstraction.MessagePublishInfo;
+import org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl;
+import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.configuration.VirtualHostConfiguration;
import org.apache.qpid.server.exchange.DirectExchange;
import org.apache.qpid.server.exchange.Exchange;
+import org.apache.qpid.server.exchange.ExchangeRegistry;
import org.apache.qpid.server.exchange.ExchangeType;
import org.apache.qpid.server.exchange.TopicExchange;
-import org.apache.qpid.server.exchange.ExchangeRegistry;
-import org.apache.qpid.server.virtualhost.VirtualHost;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
-import org.apache.qpid.server.queue.*;
-import org.apache.qpid.server.txn.ServerTransaction;
-import org.apache.qpid.server.txn.AutoCommitTransaction;
-import org.apache.qpid.server.registry.ApplicationRegistry;
import org.apache.qpid.server.message.AMQMessage;
import org.apache.qpid.server.message.MessageMetaData;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.FieldTable;
-import org.apache.qpid.framing.ContentHeaderBody;
-import org.apache.qpid.framing.BasicContentHeaderProperties;
-import org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl;
-import org.apache.qpid.framing.abstraction.MessagePublishInfo;
-import org.apache.qpid.AMQException;
-import org.apache.qpid.common.AMQPFilterTypes;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.PropertiesConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.qpid.server.queue.AMQPriorityQueue;
+import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.queue.AMQQueueFactory;
+import org.apache.qpid.server.queue.BaseQueue;
+import org.apache.qpid.server.queue.IncomingMessage;
+import org.apache.qpid.server.queue.QueueRegistry;
+import org.apache.qpid.server.queue.SimpleAMQQueue;
+import org.apache.qpid.server.registry.ApplicationRegistry;
+import org.apache.qpid.server.txn.AutoCommitTransaction;
+import org.apache.qpid.server.txn.ServerTransaction;
+import org.apache.qpid.server.virtualhost.VirtualHost;
import java.io.File;
import java.util.List;
@@ -99,8 +105,7 @@ public class MessageStoreTest extends TestCase
try
{
- _virtualHost = new VirtualHostImpl(new VirtualHostConfiguration(getClass().getName(), configuration));
- ApplicationRegistry.getInstance().getVirtualHostRegistry().registerVirtualHost(_virtualHost);
+ _virtualHost = ApplicationRegistry.getInstance().createVirtualHost(new VirtualHostConfiguration(getClass().getName(), configuration));
}
catch (Exception e)
{
@@ -244,10 +249,10 @@ public class MessageStoreTest extends TestCase
{
QueueRegistry queueRegistry = _virtualHost.getQueueRegistry();
- validateBindingProperties(queueRegistry.getQueue(durablePriorityQueueName).getExchangeBindings(), false);
- validateBindingProperties(queueRegistry.getQueue(durablePriorityTopicQueueName).getExchangeBindings(), true);
- validateBindingProperties(queueRegistry.getQueue(durableQueueName).getExchangeBindings(), false);
- validateBindingProperties(queueRegistry.getQueue(durableTopicQueueName).getExchangeBindings(), true);
+ validateBindingProperties(queueRegistry.getQueue(durablePriorityQueueName).getBindings(), false);
+ validateBindingProperties(queueRegistry.getQueue(durablePriorityTopicQueueName).getBindings(), true);
+ validateBindingProperties(queueRegistry.getQueue(durableQueueName).getBindings(), false);
+ validateBindingProperties(queueRegistry.getQueue(durableTopicQueueName).getBindings(), true);
}
/**
@@ -256,16 +261,16 @@ public class MessageStoreTest extends TestCase
* @param bindings the set of bindings to validate
* @param useSelectors if set validate that the binding has a JMS_SELECTOR argument
*/
- private void validateBindingProperties(List<ExchangeBinding> bindings, boolean useSelectors)
+ private void validateBindingProperties(List<Binding> bindings, boolean useSelectors)
{
assertEquals("Each queue should only be bound once.", 1, bindings.size());
- ExchangeBinding binding = bindings.get(0);
+ Binding binding = bindings.get(0);
if (useSelectors)
{
assertTrue("Binding does not contain a Selector argument.",
- binding.getArguments().containsKey(AMQPFilterTypes.JMS_SELECTOR.getValue()));
+ binding.getArguments().containsKey(AMQPFilterTypes.JMS_SELECTOR.toString()));
}
}
@@ -376,7 +381,7 @@ public class MessageStoreTest extends TestCase
{
// TODO Deliver to queues
ServerTransaction trans = new AutoCommitTransaction(_virtualHost.getMessageStore());
- final List<AMQQueue> destinationQueues = currentMessage.getDestinationQueues();
+ final List<? extends BaseQueue> destinationQueues = currentMessage.getDestinationQueues();
trans.enqueue(currentMessage.getDestinationQueues(), currentMessage, new ServerTransaction.Action() {
public void postCommit()
{
@@ -384,9 +389,9 @@ public class MessageStoreTest extends TestCase
{
AMQMessage message = new AMQMessage(currentMessage.getStoredMessage());
- for(AMQQueue queue : destinationQueues)
+ for(BaseQueue queue : destinationQueues)
{
- QueueEntry entry = queue.enqueue(message);
+ queue.enqueue(message);
}
}
catch (AMQException e)
@@ -525,14 +530,7 @@ public class MessageStoreTest extends TestCase
protected void bindQueueToExchange(Exchange exchange, AMQShortString routingKey, AMQQueue queue, boolean useSelector, FieldTable queueArguments)
{
- try
- {
- exchange.registerQueue(queueName, queue, queueArguments);
- }
- catch (AMQException e)
- {
- fail(e.getMessage());
- }
+
FieldTable bindArguments = null;
@@ -544,9 +542,9 @@ public class MessageStoreTest extends TestCase
try
{
- queue.bind(exchange, routingKey, bindArguments);
+ _virtualHost.getBindingFactory().addBinding(String.valueOf(routingKey), queue, exchange, FieldTable.convertToMap(bindArguments));
}
- catch (AMQException e)
+ catch (Exception e)
{
fail(e.getMessage());
}
@@ -609,7 +607,7 @@ public class MessageStoreTest extends TestCase
public AMQShortString getExchange()
{
- return _exchange.getName();
+ return _exchange.getNameShortString();
}
public void setExchange(AMQShortString exchange)
diff --git a/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java b/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java
index 906c769f9c..85412cf74e 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java
@@ -74,7 +74,7 @@ public class InternalBrokerBaseCase extends TestCase
Exchange defaultExchange = _virtualHost.getExchangeRegistry().getDefaultExchange();
- _queue.bind(defaultExchange, QUEUE_NAME, null);
+ _virtualHost.getBindingFactory().addBinding(QUEUE_NAME.toString(), _queue, defaultExchange, null);
_session = new InternalTestProtocolSession(_virtualHost);
CurrentActor.set(_session.getLogActor());
diff --git a/java/broker/src/test/java/org/apache/qpid/server/util/NullApplicationRegistry.java b/java/broker/src/test/java/org/apache/qpid/server/util/NullApplicationRegistry.java
index 3d37412376..d927bbe732 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/util/NullApplicationRegistry.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/util/NullApplicationRegistry.java
@@ -22,12 +22,14 @@ package org.apache.qpid.server.util;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
+
+import org.apache.qpid.qmf.QMFService;
import org.apache.qpid.server.configuration.ServerConfiguration;
import org.apache.qpid.server.configuration.VirtualHostConfiguration;
import org.apache.qpid.server.logging.RootMessageLoggerImpl;
+import org.apache.qpid.server.logging.actors.BrokerActor;
import org.apache.qpid.server.logging.actors.CurrentActor;
import org.apache.qpid.server.logging.actors.TestLogActor;
-import org.apache.qpid.server.logging.actors.BrokerActor;
import org.apache.qpid.server.logging.rawloggers.Log4jMessageLogger;
import org.apache.qpid.server.management.NoopManagedObjectRegistry;
import org.apache.qpid.server.plugins.PluginManager;
@@ -36,14 +38,13 @@ import org.apache.qpid.server.security.access.ACLManager;
import org.apache.qpid.server.security.access.plugins.AllowAll;
import org.apache.qpid.server.security.auth.database.PropertiesPrincipalDatabaseManager;
import org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthenticationManager;
-import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
import org.apache.qpid.server.virtualhost.VirtualHost;
+import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Properties;
import java.util.NoSuchElementException;
+import java.util.Properties;
public class NullApplicationRegistry extends ApplicationRegistry
{
@@ -75,10 +76,11 @@ public class NullApplicationRegistry extends ApplicationRegistry
_managedObjectRegistry = new NoopManagedObjectRegistry();
_virtualHostRegistry = new VirtualHostRegistry(this);
+ _qmfService = new QMFService(getConfigStore(),this);
+
PropertiesConfiguration vhostProps = new PropertiesConfiguration();
VirtualHostConfiguration hostConfig = new VirtualHostConfiguration("test", vhostProps);
- VirtualHost dummyHost = new VirtualHostImpl(hostConfig);
- _virtualHostRegistry.registerVirtualHost(dummyHost);
+ VirtualHost dummyHost = ApplicationRegistry.getInstance().createVirtualHost(hostConfig);
_virtualHostRegistry.setDefaultVirtualHostName("test");
_pluginManager = new PluginManager("");
_startup = new Exception("NAR");
@@ -99,6 +101,7 @@ public class NullApplicationRegistry extends ApplicationRegistry
try
{
super.close();
+ _qmfService.close();
}
finally
{
diff --git a/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java b/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java
index bb338458f1..b5bbfde514 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java
@@ -22,10 +22,16 @@ package org.apache.qpid.server.util;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
+
+import org.apache.qpid.qmf.QMFService;
import org.apache.qpid.server.configuration.ServerConfiguration;
import org.apache.qpid.server.configuration.VirtualHostConfiguration;
import org.apache.qpid.server.exchange.ExchangeFactory;
import org.apache.qpid.server.exchange.ExchangeRegistry;
+import org.apache.qpid.server.logging.RootMessageLoggerImpl;
+import org.apache.qpid.server.logging.actors.CurrentActor;
+import org.apache.qpid.server.logging.actors.TestLogActor;
+import org.apache.qpid.server.logging.rawloggers.Log4jMessageLogger;
import org.apache.qpid.server.management.NoopManagedObjectRegistry;
import org.apache.qpid.server.queue.QueueRegistry;
import org.apache.qpid.server.registry.ApplicationRegistry;
@@ -35,17 +41,13 @@ import org.apache.qpid.server.security.auth.database.PropertiesPrincipalDatabase
import org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthenticationManager;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.TestableMemoryMessageStore;
-import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
-import org.apache.qpid.server.virtualhost.VirtualHostImpl;
import org.apache.qpid.server.virtualhost.VirtualHost;
-import org.apache.qpid.server.logging.RootMessageLoggerImpl;
-import org.apache.qpid.server.logging.actors.CurrentActor;
-import org.apache.qpid.server.logging.actors.TestLogActor;
-import org.apache.qpid.server.logging.rawloggers.Log4jMessageLogger;
+import org.apache.qpid.server.virtualhost.VirtualHostImpl;
+import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Properties;
-import java.util.Arrays;
public class TestApplicationRegistry extends ApplicationRegistry
{
@@ -97,6 +99,8 @@ public class TestApplicationRegistry extends ApplicationRegistry
_messageStore = new TestableMemoryMessageStore();
_virtualHostRegistry = new VirtualHostRegistry(this);
+ _qmfService = new QMFService(getConfigStore(),this);
+
PropertiesConfiguration vhostProps = new PropertiesConfiguration();
VirtualHostConfiguration hostConfig = new VirtualHostConfiguration("test", vhostProps);
@@ -147,6 +151,7 @@ public class TestApplicationRegistry extends ApplicationRegistry
try
{
super.close();
+ _qmfService.close();
}
finally
{