summaryrefslogtreecommitdiff
path: root/qpid/java/client
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-08-26 21:25:08 +0000
committerRobert Gemmell <robbie@apache.org>2012-08-26 21:25:08 +0000
commit5d6ee9475d6b88fb2b89290b5f062cddb536c3e5 (patch)
tree7b1738ffe36c2a1d0e72b6cf3986e9dc6ed0b29f /qpid/java/client
parentd91eb0718b8436887efc6571e75b00074cef4366 (diff)
downloadqpid-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.java4
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java15
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,