From 5d6ee9475d6b88fb2b89290b5f062cddb536c3e5 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Sun, 26 Aug 2012 21:25:08 +0000 Subject: QPID-4250: ensure producer creation on 0-8/0-9/0-9-1 connections respects the qpid.declare_exchanges system property. Add systest to highlight the issue and verify the fix. Add constants for the system properties. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1377521 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/client/AMQSession.java | 4 +- .../qpid/client/BasicMessageProducer_0_8.java | 15 ++-- .../qpid/configuration/ClientProperties.java | 12 +++ .../client/DynamicQueueExchangeCreateTest.java | 87 ++++++++++++++++++++-- .../org/apache/qpid/test/utils/JMXTestUtils.java | 39 ++++------ 5 files changed, 118 insertions(+), 39 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java index 1468e90c4e..d4e6ec16e4 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java @@ -136,10 +136,10 @@ public abstract class AMQSession objectNames = queryObjects(query); - - _test.assertNotNull("Null ObjectName Set returned", objectNames); - _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 - ObjectName objectName = objectNames.iterator().next(); - _test.getLogger().info("Loading: " + objectName); - return objectName; } @SuppressWarnings("static-access") @@ -343,7 +325,7 @@ public class JMXTestUtils return getManagedObject(managedClass, objectName); } - public boolean isManagedObjectExist(String query) + public boolean doesManagedObjectExist(String query) { return !queryObjects(query).isEmpty(); } @@ -373,9 +355,20 @@ public class JMXTestUtils return getManagedObject(ManagedBroker.class, getVirtualHostManagerObjectName(virtualHost)); } + @SuppressWarnings("static-access") public ManagedExchange getManagedExchange(String exchangeName) { - ObjectName objectName = getExchangeObjectName("test", exchangeName); + String query = getExchangeObjectName("test", exchangeName); + + Set objectNames = queryObjects(query); + + _test.assertNotNull("Null ObjectName Set returned", objectNames); + _test.assertEquals("Incorrect number of exchange with name '" + exchangeName + "' returned", 1, objectNames.size()); + + // We have verified we have only one value in objectNames so return an mbean proxy for it + ObjectName objectName = objectNames.iterator().next(); + _test.getLogger().info("Loading: " + objectName); + return MBeanServerInvocationHandler.newProxyInstance(_mbsc, objectName, ManagedExchange.class, false); } -- cgit v1.2.1