Index: src/test/java/org/apache/activemq/transport/stomp/Stomp11Test.java =================================================================== --- src/test/java/org/apache/activemq/transport/stomp/Stomp11Test.java (revision 1449775) +++ src/test/java/org/apache/activemq/transport/stomp/Stomp11Test.java (working copy) @@ -28,14 +28,17 @@ import java.util.concurrent.TimeUnit; import javax.jms.Connection; +import javax.jms.JMSException; import javax.jms.MessageConsumer; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; +import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import org.apache.activemq.broker.TransportConnector; import org.apache.activemq.broker.jmx.BrokerViewMBean; +import org.apache.activemq.broker.jmx.QueueViewMBean; import org.apache.activemq.command.ActiveMQQueue; import org.apache.activemq.command.ActiveMQTextMessage; import org.junit.Test; @@ -547,6 +550,13 @@ stompConnection.sendFrame(frame); } + private QueueViewMBean getProxyToQueue(String name) throws MalformedObjectNameException, JMSException { + ObjectName queueViewMBeanName = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName="+name); + QueueViewMBean proxy = (QueueViewMBean) brokerService.getManagementContext() + .newProxyInstance(queueViewMBeanName, QueueViewMBean.class, true); + return proxy; + } + @Test public void testAckMessageWithNoId() throws Exception { @@ -567,6 +577,9 @@ stompConnection.sendFrame(message); + QueueViewMBean queue = getProxyToQueue(getQueueName()); + assertEquals("Expected only one message on Q was " + queue.getQueueSize(), 1, queue.getQueueSize()); + String subscribe = "SUBSCRIBE\n" + "destination:/queue/" + getQueueName() + "\n" + "id:12345\n" + "ack:client\n\n" + Stomp.NULL; stompConnection.sendFrame(subscribe);