diff options
| author | Robert Gemmell <robbie@apache.org> | 2012-08-26 21:25:08 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2012-08-26 21:25:08 +0000 |
| commit | 5d6ee9475d6b88fb2b89290b5f062cddb536c3e5 (patch) | |
| tree | 7b1738ffe36c2a1d0e72b6cf3986e9dc6ed0b29f /qpid/java/client | |
| parent | d91eb0718b8436887efc6571e75b00074cef4366 (diff) | |
| download | qpid-python-5d6ee9475d6b88fb2b89290b5f062cddb536c3e5.tar.gz | |
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
Diffstat (limited to 'qpid/java/client')
| -rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java | 4 | ||||
| -rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java | 15 |
2 files changed, 9 insertions, 10 deletions
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<C extends BasicMessageConsumer, P extends Basic DEFAULT_FLOW_CONTROL_WAIT_FAILURE); private final boolean _delareQueues = - Boolean.parseBoolean(System.getProperty("qpid.declare_queues", "true")); + Boolean.parseBoolean(System.getProperty(ClientProperties.QPID_DECLARE_QUEUES_PROP_NAME, "true")); private final boolean _declareExchanges = - Boolean.parseBoolean(System.getProperty("qpid.declare_exchanges", "true")); + Boolean.parseBoolean(System.getProperty(ClientProperties.QPID_DECLARE_EXCHANGES_PROP_NAME, "true")); private final boolean _useAMQPEncodedMapMessage; diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java index 21ff6c877a..04cc876b76 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java @@ -55,9 +55,10 @@ public class BasicMessageProducer_0_8 extends BasicMessageProducer void declareDestination(AMQDestination destination) { - - final MethodRegistry methodRegistry = getSession().getMethodRegistry(); - ExchangeDeclareBody body = + if(getSession().isDeclareExchanges()) + { + final MethodRegistry methodRegistry = getSession().getMethodRegistry(); + ExchangeDeclareBody body = methodRegistry.createExchangeDeclareBody(getSession().getTicket(), destination.getExchangeName(), destination.getExchangeClass(), @@ -67,12 +68,10 @@ public class BasicMessageProducer_0_8 extends BasicMessageProducer false, true, null); - // Declare the exchange - // Note that the durable and internal arguments are ignored since passive is set to false + AMQFrame declare = body.generateFrame(getChannelId()); - AMQFrame declare = body.generateFrame(getChannelId()); - - getProtocolHandler().writeFrame(declare); + getProtocolHandler().writeFrame(declare); + } } void sendMessage(AMQDestination destination, Message origMessage, AbstractJMSMessage message, |
