You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2009/09/11 14:27:18 UTC

svn commit: r813801 - in /qpid/trunk/qpid/java: broker/src/main/java/org/apache/qpid/server/ systests/src/main/java/org/apache/qpid/management/jmx/ systests/src/main/java/org/apache/qpid/server/queue/ systests/src/main/java/org/apache/qpid/test/utils/ ...

Author: ritchiem
Date: Fri Sep 11 12:27:14 2009
New Revision: 813801

URL: http://svn.apache.org/viewvc?rev=813801&view=rev
Log:
QPID-2093: Updated AMQBRokerManagerMBean to check if the queue is durable before performing store.deleteQueue().
Created ModelTest to validate the change, (testDeletionDurableViaJMX).
To facility the testing, extracted JMX Operations from ManagementActorLoggingTest to a new JMXTestUtils and updated both ModelTest and MALT to use this interface.

Updated 010(cpp) and 08(Java-InVM) excludes as the CPP does not have JMX and the InVM JMX is unreliable (see QPID-2097)

Added:
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ModelTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/JMXTestUtils.java
Modified:
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java
    qpid/trunk/qpid/java/test-profiles/010Excludes
    qpid/trunk/qpid/java/test-profiles/08Excludes

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java?rev=813801&r1=813800&r2=813801&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java Fri Sep 11 12:27:14 2009
@@ -317,8 +317,10 @@
         try
         {
             queue.delete();
-            _messageStore.removeQueue(queue);
-
+            if (queue.isDurable())
+            {
+                _messageStore.removeQueue(queue);
+            }
         }
         catch (AMQException ex)
         {

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java?rev=813801&r1=813800&r2=813801&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java Fri Sep 11 12:27:14 2009
@@ -20,26 +20,19 @@
  */
 package org.apache.qpid.management.jmx;
 
-import org.apache.qpid.commands.objects.AllObjects;
-import org.apache.qpid.management.common.JMXConnnectionFactory;
 import org.apache.qpid.management.common.mbeans.ManagedBroker;
 import org.apache.qpid.management.common.mbeans.ManagedConnection;
 import org.apache.qpid.management.common.mbeans.ManagedExchange;
 import org.apache.qpid.server.logging.AbstractTestLogging;
 import org.apache.qpid.server.logging.subjects.AbstractTestLogSubject;
+import org.apache.qpid.test.utils.JMXTestUtils;
 
 import javax.jms.Connection;
 import javax.jms.ExceptionListener;
 import javax.jms.JMSException;
 import javax.management.JMException;
-import javax.management.MBeanException;
-import javax.management.MBeanServerConnection;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
-import javax.management.remote.JMXConnector;
 import java.io.IOException;
 import java.util.List;
-import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
@@ -50,33 +43,21 @@
  */
 public class ManagementActorLoggingTest extends AbstractTestLogging
 {
-    MBeanServerConnection _mbsc;
-    JMXConnector _jmxc;
+    private JMXTestUtils _jmxUtils;
     private static final String USER = "admin";
 
     @Override
     public void setUp() throws Exception
     {
-        setConfigurationProperty("management.enabled", "true");
+        _jmxUtils = new JMXTestUtils(this, USER, USER);
+        _jmxUtils.setUp();
         super.setUp();
-
-        if (isExternalBroker())
-        {
-            _jmxc = JMXConnnectionFactory.getJMXConnection(
-                    5000, "127.0.0.1",
-                    getManagementPort(getPort()), USER, USER);
-
-            _mbsc = _jmxc.getMBeanServerConnection();
-        }
     }
 
     @Override
     public void tearDown() throws Exception
     {
-        if (isExternalBroker())
-        {
-            _jmxc.close();
-        }
+        _jmxUtils.close();
         super.tearDown();
     }
 
@@ -107,34 +88,31 @@
      */
     public void testJMXManagementConsoleConnection() throws IOException
     {
-        if (isExternalBroker())
-        {
-            List<String> results = _monitor.findMatches("MNG-1007");
+        List<String> results = _monitor.findMatches("MNG-1007");
 
-            assertEquals("Unexpected Management Connection count", 1, results.size());
+        assertEquals("Unexpected Management Connection count", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            validateMessageID("MNG-1007", log);
+        validateMessageID("MNG-1007", log);
 
-            assertTrue("User not in log message:" + log, log.endsWith(USER));
-            // Extract the id from the log string
-            //  MESSAGE [mng:1(rmi://169.24.29.116)] MNG-1007 : Open : User admin
-            int connectionID = Integer.parseInt(fromActor(getLog(results.get(0))).charAt(4) + "");
+        assertTrue("User not in log message:" + log, log.endsWith(USER));
+        // Extract the id from the log string
+        //  MESSAGE [mng:1(rmi://169.24.29.116)] MNG-1007 : Open : User admin
+        int connectionID = Integer.parseInt(fromActor(getLog(results.get(0))).charAt(4) + "");
 
-            results = _monitor.findMatches("MNG-1008");
+        results = _monitor.findMatches("MNG-1008");
 
-            assertEquals("Unexpected Management Connection close count", 0, results.size());
+        assertEquals("Unexpected Management Connection close count", 0, results.size());
 
-            _jmxc.close();
+        _jmxUtils.close();
 
-            results = _monitor.findMatches("MNG-1008");
+        results = _monitor.findMatches("MNG-1008");
 
-            assertEquals("Unexpected Management Connection count", 1, results.size());
+        assertEquals("Unexpected Management Connection count", 1, results.size());
 
-            assertEquals("Close does not have same id as open,", connectionID,
-                         Integer.parseInt(fromActor(getLog(results.get(0))).charAt(4) + ""));
-        }
+        assertEquals("Close does not have same id as open,", connectionID,
+                     Integer.parseInt(fromActor(getLog(results.get(0))).charAt(4) + ""));
     }
 
     /**
@@ -159,56 +137,40 @@
      */
     public void testConnectionCloseViaManagement() throws IOException, Exception
     {
-        if (isExternalBroker())
-        {
+        //Create a connection to the broker
+        Connection connection = getConnection();
 
-            //Create a connection to the broker
-            Connection connection = getConnection();
-
-            // Monitor the connection for an exception being thrown
-            // this should be a DisconnectionException but it is not this tests
-            // job to valiate that. Only use the exception as a synchronisation
-            // to check the log file for the Close message
-            final CountDownLatch exceptionReceived = new CountDownLatch(1);
-            connection.setExceptionListener(new ExceptionListener()
+        // Monitor the connection for an exception being thrown
+        // this should be a DisconnectionException but it is not this tests
+        // job to valiate that. Only use the exception as a synchronisation
+        // to check the log file for the Close message
+        final CountDownLatch exceptionReceived = new CountDownLatch(1);
+        connection.setExceptionListener(new ExceptionListener()
+        {
+            public void onException(JMSException e)
             {
-                public void onException(JMSException e)
-                {
-                    //Failover being attempted.
-                    exceptionReceived.countDown();
-                }
-            });
+                //Failover being attempted.
+                exceptionReceived.countDown();
+            }
+        });
 
-            //Remove the connection close from any 0-10 connections
-            _monitor.reset();
+        //Remove the connection close from any 0-10 connections
+        _monitor.reset();
 
-            // Get all active AMQP connections
-            AllObjects allObject = new AllObjects(_mbsc);
-            allObject.querystring = "org.apache.qpid:type=VirtualHost.Connection,*";
+        // Get a managedConnection
+        ManagedConnection mangedConnection = _jmxUtils.getManagedObject(ManagedConnection.class, "org.apache.qpid:type=VirtualHost.Connection,*");
 
-            Set<ObjectName> objectNames = allObject.returnObjects();
+        //Close the connection
+        mangedConnection.closeConnection();
 
-            assertEquals("More than one test connection returned", 1, objectNames.size());
+        //Wait for the connection to close
+        assertTrue("Timed out waiting for conneciton to report close",
+                   exceptionReceived.await(2, TimeUnit.SECONDS));
 
-            ObjectName connectionName = objectNames.iterator().next();
+        //Validate results
+        List<String> results = _monitor.findMatches("CON-1002");
 
-            ManagedConnection mangedConnection = MBeanServerInvocationHandler.
-                    newProxyInstance(_mbsc, connectionName,
-                                     ManagedConnection.class, false);
-
-
-            //Close the connection
-            mangedConnection.closeConnection();
-
-            //Wait for the connection to close
-            assertTrue("Timed out waiting for conneciton to report close",
-                       exceptionReceived.await(2, TimeUnit.SECONDS));
-
-            //Validate results
-            List<String> results = _monitor.findMatches("CON-1002");
-
-            assertEquals("Unexpected Connection Close count", 1, results.size());
-        }
+        assertEquals("Unexpected Connection Close count", 1, results.size());
     }
 
     /**
@@ -234,114 +196,100 @@
      */
     public void testCreateExchangeDirectTransientViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous exchange declares
-            _monitor.reset();
-
-            createExchange("direct");
+        _monitor.reset();
 
-            // Validate
+        _jmxUtils.createExchange("test", "direct", null, false);
 
-            //1 - ID is correct
-            List<String> results = _monitor.findMatches("EXH-1001");
+        // Validate
 
-            assertEquals("More than one exchange creation found", 1, results.size());
+        //1 - ID is correct
+        List<String> results = _monitor.findMatches("EXH-1001");
 
-            String log = getLog(results.get(0));
+        assertEquals("More than one exchange creation found", 1, results.size());
 
-            // Validate correct exchange name
-            assertTrue("Incorrect exchange name created:" + log, log.endsWith(getName()));
+        String log = getLog(results.get(0));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
+        // Validate correct exchange name
+        assertTrue("Incorrect exchange name created:" + log, log.endsWith(getName()));
 
-        }
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
     }
 
     public void testCreateExchangeTopicTransientViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous exchange declares
-            _monitor.reset();
+        //Remove any previous exchange declares
+        _monitor.reset();
 
-            createExchange("topic");
+        _jmxUtils.createExchange("test", "topic", null, false);
 
-            // Validate
+        // Validate
 
-            //1 - ID is correct
-            List<String> results = _monitor.findMatches("EXH-1001");
+        //1 - ID is correct
+        List<String> results = _monitor.findMatches("EXH-1001");
 
-            assertEquals("More than one exchange creation found", 1, results.size());
+        assertEquals("More than one exchange creation found", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            // Validate correct exchange name
-            assertTrue("Incorrect exchange name created:" + log, log.endsWith(getName()));
+        // Validate correct exchange name
+        assertTrue("Incorrect exchange name created:" + log, log.endsWith(getName()));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
 
-        }
     }
 
     public void testCreateExchangeFanoutTransientViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous exchange declares
-            _monitor.reset();
+        //Remove any previous exchange declares
+        _monitor.reset();
 
-            createExchange("fanout");
+        _jmxUtils.createExchange("test", "fanout", null, false);
 
-            // Validate
+        // Validate
 
-            //1 - ID is correct
-            List<String> results = _monitor.findMatches("EXH-1001");
+        //1 - ID is correct
+        List<String> results = _monitor.findMatches("EXH-1001");
 
-            assertEquals("More than one exchange creation found", 1, results.size());
+        assertEquals("More than one exchange creation found", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            // Validate correct exchange name
-            assertTrue("Incorrect exchange name created:" + log, log.endsWith(getName()));
+        // Validate correct exchange name
+        assertTrue("Incorrect exchange name created:" + log, log.endsWith(getName()));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
 
-        }
     }
 
     public void testCreateExchangeHeadersTransientViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous exchange declares
-            _monitor.reset();
+        //Remove any previous exchange declares
+        _monitor.reset();
 
-            createExchange("headers");
+        _jmxUtils.createExchange("test", "headers", null, false);
 
-            // Validate
+        // Validate
 
-            //1 - ID is correct
-            List<String> results = _monitor.findMatches("EXH-1001");
+        //1 - ID is correct
+        List<String> results = _monitor.findMatches("EXH-1001");
 
-            assertEquals("More than one exchange creation found", 1, results.size());
+        assertEquals("More than one exchange creation found", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            // Validate correct exchange name
-            assertTrue("Incorrect exchange name created:" + log, log.endsWith(getName()));
+        // Validate correct exchange name
+        assertTrue("Incorrect exchange name created:" + log, log.endsWith(getName()));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
 
-        }
     }
 
     /**
@@ -365,29 +313,26 @@
      */
     public void testCreateQueueTransientViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous queue declares
-            _monitor.reset();
+        //Remove any previous queue declares
+        _monitor.reset();
 
-            createQueue();
+        _jmxUtils.createQueue("test", getName(), null, false);
 
-            // Validate
+        // Validate
 
-            List<String> results = _monitor.findMatches("QUE-1001");
+        List<String> results = _monitor.findMatches("QUE-1001");
 
-            assertEquals("More than one queue creation found", 1, results.size());
+        assertEquals("More than one queue creation found", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            // Validate correct queue name
-            String subject = fromSubject(log);
-            assertEquals("Incorrect queue name created", getName(), AbstractTestLogSubject.getSlice("qu", subject));
+        // Validate correct queue name
+        String subject = fromSubject(log);
+        assertEquals("Incorrect queue name created", getName(), AbstractTestLogSubject.getSlice("qu", subject));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
-        }
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
     }
 
     /**
@@ -411,34 +356,29 @@
      */
     public void testQueueDeleteViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous queue declares
-            _monitor.reset();
+        //Remove any previous queue declares
+        _monitor.reset();
 
-            createQueue();
+        _jmxUtils.createQueue("test", getName(), null, false);
 
-            ManagedBroker managedBroker = MBeanServerInvocationHandler.
-                    newProxyInstance(_mbsc, getVirtualHostManagerObjectName(),
-                                     ManagedBroker.class, false);
+        ManagedBroker managedBroker = _jmxUtils.getManagedBroker("test");
 
-            managedBroker.deleteQueue(getName());
+        managedBroker.deleteQueue(getName());
 
-            List<String> results = _monitor.findMatches("QUE-1002");
+        List<String> results = _monitor.findMatches("QUE-1002");
 
-            assertEquals("More than one queue deletion found", 1, results.size());
+        assertEquals("More than one queue deletion found", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            // Validate correct binding
-            String subject = fromSubject(log);
-            assertEquals("Incorrect queue named in delete", getName(), AbstractTestLogSubject.getSlice("qu", subject));
+        // Validate correct binding
+        String subject = fromSubject(log);
+        assertEquals("Incorrect queue named in delete", getName(), AbstractTestLogSubject.getSlice("qu", subject));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
 
-        }
     }
 
     /**
@@ -462,98 +402,83 @@
      */
     public void testBindingCreateOnDirectViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous queue declares
-            _monitor.reset();
+        //Remove any previous queue declares
+        _monitor.reset();
 
-            createQueue();
+        _jmxUtils.createQueue("test", getName(), null, false);
 
-            ManagedExchange managedExchange = MBeanServerInvocationHandler.
-                    newProxyInstance(_mbsc, getExchange("amq.direct"),
-                                     ManagedExchange.class, false);
+        ManagedExchange managedExchange = _jmxUtils.getManagedExchange("amq.direct");
 
-            managedExchange.createNewBinding(getName(), getName());
+        managedExchange.createNewBinding(getName(), getName());
 
-            List<String> results = _monitor.findMatches("BND-1001");
+        List<String> results = _monitor.findMatches("BND-1001");
 
-            assertEquals("More than one bind creation found", 1, results.size());
+        assertEquals("More than one bind creation found", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            // Validate correct binding
-            String subject = fromSubject(log);
-            assertEquals("Incorrect queue named in create", getName(), AbstractTestLogSubject.getSlice("qu", subject));
-            assertEquals("Incorrect routing key in create", getName(), AbstractTestLogSubject.getSlice("rk", subject));
+        // Validate correct binding
+        String subject = fromSubject(log);
+        assertEquals("Incorrect queue named in create", getName(), AbstractTestLogSubject.getSlice("qu", subject));
+        assertEquals("Incorrect routing key in create", getName(), AbstractTestLogSubject.getSlice("rk", subject));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
-        }
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
     }
 
     public void testBindingCreateOnTopicViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous queue declares
-            _monitor.reset();
+        //Remove any previous queue declares
+        _monitor.reset();
 
-            createQueue();
+        _jmxUtils.createQueue("test", getName(), null, false);
 
-            ManagedExchange managedExchange = MBeanServerInvocationHandler.
-                    newProxyInstance(_mbsc, getExchange("amq.topic"),
-                                     ManagedExchange.class, false);
+        ManagedExchange managedExchange = _jmxUtils.getManagedExchange("amq.topic");
 
-            managedExchange.createNewBinding(getName(), getName());
+        managedExchange.createNewBinding(getName(), getName());
 
-            List<String> results = _monitor.findMatches("BND-1001");
+        List<String> results = _monitor.findMatches("BND-1001");
 
-            assertEquals("More than one bind creation found", 1, results.size());
+        assertEquals("More than one bind creation found", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            // Validate correct binding
-            String subject = fromSubject(log);
-            assertEquals("Incorrect queue named in create", getName(), AbstractTestLogSubject.getSlice("qu", subject));
-            assertEquals("Incorrect routing key in create", getName(), AbstractTestLogSubject.getSlice("rk", subject));
+        // Validate correct binding
+        String subject = fromSubject(log);
+        assertEquals("Incorrect queue named in create", getName(), AbstractTestLogSubject.getSlice("qu", subject));
+        assertEquals("Incorrect routing key in create", getName(), AbstractTestLogSubject.getSlice("rk", subject));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
-        }
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
     }
 
     public void testBindingCreateOnFanoutViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-            //Remove any previous queue declares
-            _monitor.reset();
+        //Remove any previous queue declares
+        _monitor.reset();
 
-            createQueue();
+        _jmxUtils.createQueue("test", getName(), null, false);
 
-            ManagedExchange managedExchange = MBeanServerInvocationHandler.
-                    newProxyInstance(_mbsc, getExchange("amq.fanout"),
-                                     ManagedExchange.class, false);
+        ManagedExchange managedExchange = _jmxUtils.getManagedExchange("amq.fanout");
 
-            managedExchange.createNewBinding(getName(), getName());
+        managedExchange.createNewBinding(getName(), getName());
 
-            List<String> results = _monitor.findMatches("BND-1001");
+        List<String> results = _monitor.findMatches("BND-1001");
 
-            assertEquals("More than one bind creation found", 1, results.size());
+        assertEquals("More than one bind creation found", 1, results.size());
 
-            String log = getLog(results.get(0));
+        String log = getLog(results.get(0));
 
-            // Validate correct binding
-            String subject = fromSubject(log);
-            assertEquals("Incorrect queue named in create", getName(), AbstractTestLogSubject.getSlice("qu", subject));
-            assertEquals("Incorrect routing key in create", "*", AbstractTestLogSubject.getSlice("rk", subject));
+        // Validate correct binding
+        String subject = fromSubject(log);
+        assertEquals("Incorrect queue named in create", getName(), AbstractTestLogSubject.getSlice("qu", subject));
+        assertEquals("Incorrect routing key in create", "*", AbstractTestLogSubject.getSlice("rk", subject));
 
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
-        }
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
     }
 
     /**
@@ -578,114 +503,28 @@
      */
     public void testUnRegisterExchangeViaManagementConsole() throws IOException, JMException
     {
-        if (isExternalBroker())
-        {
-
-            //Remove any previous queue declares
-            _monitor.reset();
-
-            createExchange("direct");
-
-            ManagedBroker managedBroker = MBeanServerInvocationHandler.
-                    newProxyInstance(_mbsc, getVirtualHostManagerObjectName(),
-                                     ManagedBroker.class, false);
-
-            managedBroker.unregisterExchange(getName());
-
-            List<String> results = _monitor.findMatches("EXH-1002");
-
-            assertEquals("More than one exchange deletion found", 1, results.size());
-
-            String log = getLog(results.get(0));
-
-            // Validate correct binding
-            String subject = fromSubject(log);
-            assertEquals("Incorrect exchange named in delete", "direct/" + getName(), AbstractTestLogSubject.getSlice("ex", subject));
-
-            // Validate it was a management actor.
-            String actor = fromActor(log);
-            assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
-        }
-    }
-
-    /**
-     * Create a non-durable test exchange with the current test name
-     *
-     * @throws JMException - is thrown if a exchange with this testName already exists
-     * @throws IOException - if there is a problem with the JMX Connection
-     * @throws javax.management.MBeanException
-     *                     - if there is another problem creating the exchange
-     */
-    private void createExchange(String type)
-            throws JMException, IOException, MBeanException
-    {
-        ManagedBroker managedBroker = MBeanServerInvocationHandler.
-                newProxyInstance(_mbsc, getVirtualHostManagerObjectName(),
-                                 ManagedBroker.class, false);
-
-        managedBroker.createNewExchange(getName(), type, false);
-    }
-
-    /**
-     * Create a non-durable queue (with no owner) that is named after the
-     * creating test.
-     *
-     * @throws JMException - is thrown if a queue with this testName already exists
-     * @throws IOException - if there is a problem with the JMX Connection
-     */
-    private void createQueue()
-            throws JMException, IOException
-    {
-        ManagedBroker managedBroker = MBeanServerInvocationHandler.
-                newProxyInstance(_mbsc, getVirtualHostManagerObjectName(),
-                                 ManagedBroker.class, false);
+        //Remove any previous queue declares
+        _monitor.reset();
 
-        managedBroker.createNewQueue(getName(), null, false);
-    }
+        _jmxUtils.createExchange("test", "direct", null, false);
 
-    /**
-     * Retrive the ObjectName for the test Virtualhost.
-     *
-     * This is then use to create aproxy to the ManagedBroker MBean.
-     *
-     * @return the ObjectName for the 'test' VirtualHost.
-     */
-    private ObjectName getVirtualHostManagerObjectName()
-    {
-        // Get the name of the test manager
-        AllObjects allObject = new AllObjects(_mbsc);
-        allObject.querystring = "org.apache.qpid:type=VirtualHost.VirtualHostManager,VirtualHost=test,*";
+        ManagedBroker managedBroker = _jmxUtils.getManagedBroker("test");
 
-        Set<ObjectName> objectNames = allObject.returnObjects();
+        managedBroker.unregisterExchange(getName());
 
-        assertEquals("Incorrect number test vhosts returned", 1, objectNames.size());
+        List<String> results = _monitor.findMatches("EXH-1002");
 
-        // We have verified we have only one value in objectNames so return it
-        return objectNames.iterator().next();
-    }
-
-    /**
-     * Retrive the ObjectName for the given Exchange on the test Virtualhost.
-     *
-     * This is then use to create aproxy to the ManagedExchange MBean.
-     *
-     * @param exchange The exchange to retireve e.g. 'direct'
-     *
-     * @return the ObjectName for the given exchange on the test VirtualHost.
-     */
-    private ObjectName getExchange(String exchange)
-    {
-        // Get the name of the test manager
-        AllObjects allObject = new AllObjects(_mbsc);
-        allObject.querystring = "org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=test,name=" + exchange + ",*";
+        assertEquals("More than one exchange deletion found", 1, results.size());
 
-        Set<ObjectName> objectNames = allObject.returnObjects();
+        String log = getLog(results.get(0));
 
-        assertEquals("Incorrect number of exchange with name '" + exchange +
-                     "' returned", 1, objectNames.size());
+        // Validate correct binding
+        String subject = fromSubject(log);
+        assertEquals("Incorrect exchange named in delete", "direct/" + getName(), AbstractTestLogSubject.getSlice("ex", subject));
 
-        // We have verified we have only one value in objectNames so return it
-        return objectNames.iterator().next();
+        // Validate it was a management actor.
+        String actor = fromActor(log);
+        assertTrue("Actor is not a manangement actor:" + actor, actor.startsWith("mng"));
     }
 
 }

Added: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ModelTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ModelTest.java?rev=813801&view=auto
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ModelTest.java (added)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ModelTest.java Fri Sep 11 12:27:14 2009
@@ -0,0 +1,299 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.queue;
+
+import org.apache.qpid.AMQException;
+import org.apache.qpid.client.AMQConnection;
+import org.apache.qpid.client.AMQSession;
+import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.management.common.mbeans.ManagedBroker;
+import org.apache.qpid.management.common.mbeans.ManagedQueue;
+import org.apache.qpid.test.utils.JMXTestUtils;
+import org.apache.qpid.test.utils.QpidTestCase;
+
+import javax.jms.Connection;
+import javax.jms.JMSException;
+import javax.jms.Session;
+import javax.management.JMException;
+import javax.management.MBeanException;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.UndeclaredThrowableException;
+
+/**
+ * This Test validates the Queue Model on the broker.
+ * Currently it has some basic queue creation / deletion tests.
+ * However, it should be expanded to include other tests that relate to the
+ * model. i.e.
+ *
+ * The Create and Delete tests should ensure that the requisite logging is
+ * performed.
+ *
+ * Additions to this suite would be to complete testing of creations, validating
+ * fields such as owner/exclusive, autodelete and priority are correctly set.
+ *
+ * Currently this test uses the JMX interface to validate that the queue has
+ * been declared as expected so these tests cannot run against a CPP broker.
+ *
+ *
+ * Tests should ensure that they clean up after themselves.
+ * e,g. Durable queue creation test should perform a queue delete.
+ */
+public class ModelTest extends QpidTestCase
+{
+
+    private static final String USER = "admin";
+    private JMXTestUtils _jmxUtils;
+    private static final String VIRTUALHOST_NAME = "test";
+
+    @Override
+    public void setUp() throws Exception
+    {
+        // Create a JMX Helper
+        _jmxUtils = new JMXTestUtils(this, USER, USER);
+        _jmxUtils.setUp();
+        super.setUp();
+
+        // Open the JMX Connection
+        _jmxUtils.open();
+    }
+
+    @Override
+    public void tearDown() throws Exception
+    {
+        // Close the JMX Connection
+        _jmxUtils.close();
+        super.tearDown();
+    }
+
+    /**
+     * Test that a transient queue can be created via AMQP.
+     *
+     * @throws Exception On unexpected error
+     */
+    public void testQueueCreationTransientViaAMQP() throws Exception
+    {
+        Connection connection = getConnection();
+
+        String queueName = getTestQueueName();
+        boolean durable = false;
+        boolean autoDelete = false;
+        boolean exclusive = false;
+
+        createViaAMQPandValidateViaJMX(connection, queueName, durable,
+                                       autoDelete, exclusive);
+    }
+
+    /**
+     * Test that a durable queue can be created via AMQP.
+     *
+     * @throws Exception On unexpected error
+     */
+
+    public void testQueueCreationDurableViaAMQP() throws Exception
+    {
+        Connection connection = getConnection();
+
+        String queueName = getTestQueueName();
+        boolean durable = true;
+        boolean autoDelete = false;
+        boolean exclusive = false;
+
+        createViaAMQPandValidateViaJMX(connection, queueName, durable,
+                                       autoDelete, exclusive);
+
+        // Clean up
+        ManagedBroker managedBroker =
+                _jmxUtils.getManagedBroker(VIRTUALHOST_NAME);
+        managedBroker.deleteQueue(queueName);
+    }
+
+    /**
+     * Test that a transient queue can be created via JMX.
+     *
+     * @throws IOException                  if there is a problem via the JMX connection
+     * @throws javax.management.JMException if there is a problem with the JMX command
+     */
+    public void testCreationTransientViaJMX() throws IOException, JMException
+    {
+        String name = getName();
+        String owner = null;
+        boolean durable = false;
+
+        createViaJMXandValidateViaJMX(name, owner, durable, durable);
+    }
+
+    /**
+     * Test that a durable queue can be created via JMX.
+     *
+     * @throws IOException                  if there is a problem via the JMX connection
+     * @throws javax.management.JMException if there is a problem with the JMX command
+     */
+    public void testCreationDurableViaJMX() throws IOException, JMException
+    {
+        String name = getName();
+        String owner = null;
+        boolean durable = true;
+
+        createViaJMXandValidateViaJMX(name, owner, durable, durable);
+
+        // Clean up
+        ManagedBroker managedBroker =
+                _jmxUtils.getManagedBroker(VIRTUALHOST_NAME);
+        managedBroker.deleteQueue(name);
+    }
+
+    /**
+     * Test that a transient queue can be deleted via JMX.
+     *
+     * @throws IOException                  if there is a problem via the JMX connection
+     * @throws javax.management.JMException if there is a problem with the JMX command
+     */
+    public void testDeletionTransientViaJMX() throws IOException, JMException
+    {
+        String name = getName();
+
+        _jmxUtils.createQueue(VIRTUALHOST_NAME, name, null, false);
+
+        ManagedBroker managedBroker = _jmxUtils.
+                getManagedBroker(VIRTUALHOST_NAME);
+
+        try
+        {
+            managedBroker.deleteQueue(name);
+        }
+        catch (UndeclaredThrowableException e)
+        {
+            fail(((MBeanException) ((InvocationTargetException)
+                    e.getUndeclaredThrowable()).getTargetException()).getTargetException().getMessage());
+        }
+    }
+
+    /**
+     * Test that a durable queue can be created via JMX.
+     *
+     * @throws IOException                  if there is a problem via the JMX connection
+     * @throws javax.management.JMException if there is a problem with the JMX command
+     */
+    public void testDeletionDurableViaJMX() throws IOException, JMException
+    {
+        String name = getName();
+
+        _jmxUtils.createQueue(VIRTUALHOST_NAME, name, null, true);
+
+        ManagedBroker managedBroker = _jmxUtils.
+                getManagedBroker(VIRTUALHOST_NAME);
+
+        try
+        {
+            managedBroker.deleteQueue(name);
+        }
+        catch (UndeclaredThrowableException e)
+        {
+            fail(((MBeanException) ((InvocationTargetException)
+                    e.getUndeclaredThrowable()).getTargetException()).getTargetException().getMessage());
+        }
+    }
+
+    /*
+     * Helper Methods
+     */
+
+    /**
+     * Using the provided JMS Connection create a queue using the AMQP extension
+     * with the given properties and then validate it was created correctly via
+     * the JMX Connection
+     *
+     * @param connection Qpid JMS Connection
+     * @param queueName  String the desired QueueName
+     * @param durable    boolean if the queue should be durable
+     * @param autoDelete boolean if the queue is an autoDelete queue
+     * @param exclusive  boolean if the queue is exclusive
+     *
+     * @throws AMQException if there is a problem with the createQueue call
+     * @throws JMException  if there is a problem with the JMX validatation
+     * @throws IOException  if there is a problem with the JMX connection
+     * @throws JMSException if there is a problem creating the JMS Session
+     */
+    private void createViaAMQPandValidateViaJMX(Connection connection,
+                                                String queueName,
+                                                boolean durable,
+                                                boolean autoDelete,
+                                                boolean exclusive)
+            throws AMQException, JMException, IOException, JMSException
+    {
+        AMQSession session = (AMQSession) connection.createSession(false,
+                                                                   Session.AUTO_ACKNOWLEDGE);
+
+        session.createQueue(new AMQShortString(queueName),
+                            autoDelete, durable, exclusive);
+
+        validateQueueViaJMX(queueName, exclusive ? ((AMQConnection) connection).
+                getUsername() : null, durable, autoDelete);
+    }
+
+    /**
+     * Use the JMX Helper to create a queue with the given properties and then
+     * validate it was created correctly via the JMX Connection
+     *
+     * @param queueName  String the desired QueueName
+     * @param owner      String the owner value that should be set
+     * @param durable    boolean if the queue should be durable
+     * @param autoDelete boolean if the queue is an autoDelete queue
+     *
+     * @throws JMException if there is a problem with the JMX validatation
+     * @throws IOException if there is a problem with the JMX connection
+     */
+    private void createViaJMXandValidateViaJMX(String queueName, String owner,
+                                               boolean durable, boolean autoDelete)
+            throws JMException, IOException
+    {
+        _jmxUtils.createQueue(VIRTUALHOST_NAME, queueName, owner, durable);
+
+        validateQueueViaJMX(queueName, owner, durable, autoDelete);
+    }
+
+    /**
+     * Validate that a queue with the given properties exists on the broker
+     *
+     * @param queueName  String the desired QueueName
+     * @param owner      String the owner value that should be set
+     * @param durable    boolean if the queue should be durable
+     * @param autoDelete boolean if the queue is an autoDelete queue
+     *
+     * @throws JMException if there is a problem with the JMX validatation
+     * @throws IOException if there is a problem with the JMX connection
+     */
+    private void validateQueueViaJMX(String queueName, String owner, boolean durable, boolean autoDelete)
+            throws JMException, IOException
+    {
+        ManagedQueue managedQueue = _jmxUtils.
+                getManagedObject(ManagedQueue.class,
+                                 _jmxUtils.getQueueObjectName(VIRTUALHOST_NAME,
+                                                              queueName));
+
+        assertEquals(queueName, managedQueue.getName());
+        assertEquals(String.valueOf(owner), managedQueue.getOwner());
+        assertEquals(durable, managedQueue.isDurable());
+        assertEquals(autoDelete, managedQueue.isAutoDelete());
+    }
+
+}

Added: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/JMXTestUtils.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/JMXTestUtils.java?rev=813801&view=auto
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/JMXTestUtils.java (added)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/JMXTestUtils.java Fri Sep 11 12:27:14 2009
@@ -0,0 +1,208 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.test.utils;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.qpid.commands.objects.AllObjects;
+import org.apache.qpid.management.common.JMXConnnectionFactory;
+import org.apache.qpid.management.common.mbeans.ManagedBroker;
+import org.apache.qpid.management.common.mbeans.ManagedExchange;
+
+import javax.management.JMException;
+import javax.management.MBeanException;
+import javax.management.MBeanServerConnection;
+import javax.management.MBeanServerInvocationHandler;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import java.io.IOException;
+import java.util.Set;
+
+/**
+ * 
+ */
+public class JMXTestUtils
+{
+    QpidTestCase _test;
+    MBeanServerConnection _mbsc;
+    JMXConnector _jmxc;
+
+    private String USER;
+    private String PASSWORD;
+
+    public JMXTestUtils(QpidTestCase test, String user, String password)
+    {
+        _test = test;
+        USER = user;
+        PASSWORD = password;
+    }
+
+    public void setUp() throws IOException, ConfigurationException, Exception
+    {
+        _test.setConfigurationProperty("management.enabled", "true");       
+    }
+
+    public void open() throws Exception
+    {
+        _jmxc = JMXConnnectionFactory.getJMXConnection(
+                5000, "127.0.0.1",
+                _test.getManagementPort(_test.getPort()), USER, PASSWORD);
+
+        _mbsc = _jmxc.getMBeanServerConnection();
+    }
+
+    public void close() throws IOException
+    {
+        _jmxc.close();
+    }
+
+    /**
+     * Create a non-durable test exchange with the current test name
+     *
+     * @throws javax.management.JMException - is thrown if a exchange with this testName already exists
+     * @throws java.io.IOException          - if there is a problem with the JMX Connection
+     * @throws javax.management.MBeanException
+     *                                      - if there is another problem creating the exchange
+     */
+    public void createExchange(String virtualHostName, String name, String type, boolean durable)
+            throws JMException, IOException, MBeanException
+    {
+        ManagedBroker managedBroker = getManagedBroker(virtualHostName);
+
+        managedBroker.createNewExchange(name, type, durable);
+    }
+
+    /**
+     * Create a non-durable queue (with no owner) that is named after the
+     * creating test.
+     *
+     * @throws JMException - is thrown if a queue with this testName already exists
+     * @throws IOException - if there is a problem with the JMX Connection
+     */
+    public void createQueue(String virtualHostName, String name, String owner, boolean durable)
+            throws JMException, IOException
+    {
+        ManagedBroker managedBroker = getManagedBroker(virtualHostName);
+
+        managedBroker.createNewQueue(name, owner, durable);
+    }
+
+    /**
+     * Retrive the ObjectName for the test Virtualhost.
+     *
+     * This is then use to create aproxy to the ManagedBroker MBean.
+     *
+     * @return the ObjectName for the 'test' VirtualHost.
+     */
+    public ObjectName getVirtualHostManagerObjectName(String vhostName)
+    {
+        // Get the name of the test manager
+        AllObjects allObject = new AllObjects(_mbsc);
+        allObject.querystring = "org.apache.qpid:type=VirtualHost.VirtualHostManager,VirtualHost=" + vhostName + ",*";
+
+        Set<ObjectName> objectNames = allObject.returnObjects();
+
+        _test.assertEquals("Incorrect number test vhosts returned", 1, objectNames.size());
+
+        // We have verified we have only one value in objectNames so return it
+        return objectNames.iterator().next();
+    }
+
+    /**
+     * Retrive the ObjectName for the given Exchange on the test Virtualhost.
+     *
+     * This is then use to create aproxy to the ManagedExchange MBean.
+     *
+     * @param queue The exchange to retireve e.g. 'direct'
+     *
+     * @return the ObjectName for the given exchange on the test VirtualHost.
+     */
+    public ObjectName getQueueObjectName(String virtualHostName, String queue)
+    {
+        // Get the name of the test manager
+        AllObjects allObject = new AllObjects(_mbsc);
+        allObject.querystring = "org.apache.qpid:type=VirtualHost.Queue,VirtualHost=" + virtualHostName + ",name=" + queue + ",*";
+
+        Set<ObjectName> objectNames = allObject.returnObjects();
+
+        _test.assertEquals("Incorrect number of exchange with name '" + queue +
+                           "' returned", 1, objectNames.size());
+
+        // We have verified we have only one value in objectNames so return it
+        return objectNames.iterator().next();
+    }
+
+    /**
+     * Retrive the ObjectName for the given Exchange on the test Virtualhost.
+     *
+     * This is then use to create aproxy to the ManagedExchange MBean.
+     *
+     * @param virtualHostName
+     * @param exchange        The exchange to retireve e.g. 'direct'
+     *
+     * @return the ObjectName for the given exchange on the test VirtualHost.
+     */
+    public ObjectName getExchangeObjectName(String virtualHostName, String exchange)
+    {
+        // Get the name of the test manager
+        AllObjects allObject = new AllObjects(_mbsc);
+        allObject.querystring = "org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=" + virtualHostName + ",name=" + exchange + ",*";
+
+        Set<ObjectName> objectNames = allObject.returnObjects();
+
+        _test.assertEquals("Incorrect number of exchange with name '" + exchange +
+                           "' returned", 1, objectNames.size());
+
+        // We have verified we have only one value in objectNames so return it
+        return objectNames.iterator().next();
+    }
+
+    public <T> T getManagedObject(Class<T> managedClass, String queryString)
+    {
+        AllObjects allObject = new AllObjects(_mbsc);
+        allObject.querystring = queryString;
+
+        Set<ObjectName> objectNames = allObject.returnObjects();
+
+        _test.assertEquals("More than one " + managedClass + " returned", 1, objectNames.size());
+
+        ObjectName objectName = objectNames.iterator().next();
+
+        return getManagedObject(managedClass, objectName);
+    }
+
+    public <T> T getManagedObject(Class<T> managedClass, ObjectName objectName)
+    {
+        return MBeanServerInvocationHandler.
+                newProxyInstance(_mbsc, objectName, managedClass, false);
+    }
+
+    public ManagedBroker getManagedBroker(String virtualHost)
+    {
+        return getManagedObject(ManagedBroker.class, getVirtualHostManagerObjectName(virtualHost).toString());
+    }
+
+    public ManagedExchange getManagedExchange(String exchangeName)
+    {
+        return MBeanServerInvocationHandler.
+                newProxyInstance(_mbsc, getExchangeObjectName("test", exchangeName),
+                                 ManagedExchange.class, false);
+    }
+}

Modified: qpid/trunk/qpid/java/test-profiles/010Excludes
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/test-profiles/010Excludes?rev=813801&r1=813800&r2=813801&view=diff
==============================================================================
--- qpid/trunk/qpid/java/test-profiles/010Excludes (original)
+++ qpid/trunk/qpid/java/test-profiles/010Excludes Fri Sep 11 12:27:14 2009
@@ -83,6 +83,9 @@
 
 // CPP Broker does not have a JMX interface to test
 org.apache.qpid.management.jmx.*
+// JMX is used in this test for validation
+org.apache.qpid.server.queue.ModelTest#*
+
 
 // 0-10 is not supported by the MethodRegistry
 org.apache.qpid.test.unit.close.JavaServerCloseRaceConditionTest#*

Modified: qpid/trunk/qpid/java/test-profiles/08Excludes
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/test-profiles/08Excludes?rev=813801&r1=813800&r2=813801&view=diff
==============================================================================
--- qpid/trunk/qpid/java/test-profiles/08Excludes (original)
+++ qpid/trunk/qpid/java/test-profiles/08Excludes Fri Sep 11 12:27:14 2009
@@ -16,5 +16,7 @@
 
 org.apache.qpid.test.client.RollbackOrderTest#*
 
-// MALT requries an external broker so exclude it from the InVM test runs
-org.apache.qpid.management.jmx.ManagementActorLoggingTest
+// QPID-2097 exclude it from the InVM test runs until InVM JMX Interface is reliable
+org.apache.qpid.management.jmx.ManagementActorLoggingTest#*
+org.apache.qpid.server.queue.ModelTest#*
+



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org