You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2016/05/16 18:25:07 UTC

qpid-jms git commit: QPIDJMS-176 Let the producer build handle building all types of producers.

Repository: qpid-jms
Updated Branches:
  refs/heads/master 181b6dd04 -> ff7f49fe6


QPIDJMS-176 Let the producer build handle building all types of
producers.



Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/ff7f49fe
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/ff7f49fe
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/ff7f49fe

Branch: refs/heads/master
Commit: ff7f49fe66313ef696be8c18f953212f140df094
Parents: 181b6dd
Author: Timothy Bish <ta...@gmail.com>
Authored: Mon May 16 14:24:57 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Mon May 16 14:24:57 2016 -0400

----------------------------------------------------------------------
 .../qpid/jms/provider/amqp/AmqpSession.java       | 13 ++-----------
 .../amqp/builders/AmqpProducerBuilder.java        | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ff7f49fe/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSession.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSession.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSession.java
index ff7f0ee..24f9db1 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSession.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpSession.java
@@ -86,17 +86,8 @@ public class AmqpSession extends AmqpAbstractResource<JmsSessionInfo, Session> i
     }
 
     public void createProducer(JmsProducerInfo producerInfo, AsyncResult request) {
-        if (producerInfo.getDestination() == null && !getConnection().getProperties().isAnonymousRelaySupported()) {
-            LOG.debug("Creating an AmqpAnonymousFallbackProducer");
-            new AmqpAnonymousFallbackProducer(this, producerInfo);
-
-            // No producer is created yet so this is always successful.
-            request.onSuccess();
-        } else {
-            LOG.debug("Creating AmqpFixedProducer for: {}", producerInfo.getDestination());
-            AmqpProducerBuilder builder = new AmqpProducerBuilder(this, producerInfo);
-            builder.buildResource(request);
-        }
+        AmqpProducerBuilder builder = new AmqpProducerBuilder(this, producerInfo);
+        builder.buildResource(request);
     }
 
     public AmqpProducer getProducer(JmsProducerInfo producerInfo) {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ff7f49fe/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java
index 0875c56..e04d819 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java
@@ -20,6 +20,8 @@ import javax.jms.InvalidDestinationException;
 
 import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.meta.JmsProducerInfo;
+import org.apache.qpid.jms.provider.AsyncResult;
+import org.apache.qpid.jms.provider.amqp.AmqpAnonymousFallbackProducer;
 import org.apache.qpid.jms.provider.amqp.AmqpFixedProducer;
 import org.apache.qpid.jms.provider.amqp.AmqpProducer;
 import org.apache.qpid.jms.provider.amqp.AmqpSession;
@@ -32,17 +34,33 @@ import org.apache.qpid.proton.amqp.messaging.Target;
 import org.apache.qpid.proton.amqp.transport.ReceiverSettleMode;
 import org.apache.qpid.proton.amqp.transport.SenderSettleMode;
 import org.apache.qpid.proton.engine.Sender;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Resource builder responsible for creating and opening an AmqpProducer instance.
  */
 public class AmqpProducerBuilder extends AmqpResourceBuilder<AmqpProducer, AmqpSession, JmsProducerInfo, Sender> {
 
+    private static final Logger LOG = LoggerFactory.getLogger(AmqpProducerBuilder.class);
+
     public AmqpProducerBuilder(AmqpSession parent, JmsProducerInfo resourceInfo) {
         super(parent, resourceInfo);
     }
 
     @Override
+    public void buildResource(final AsyncResult request) {
+        if (getResourceInfo().getDestination() == null && !getParent().getConnection().getProperties().isAnonymousRelaySupported()) {
+            LOG.debug("Creating an AmqpAnonymousFallbackProducer");
+            new AmqpAnonymousFallbackProducer(getParent(), getResourceInfo());
+            request.onSuccess();
+        } else {
+            LOG.debug("Creating AmqpFixedProducer for: {}", getResourceInfo().getDestination());
+            super.buildResource(request);
+        }
+    }
+
+    @Override
     protected Sender createEndpoint(JmsProducerInfo resourceInfo) {
         JmsDestination destination = resourceInfo.getDestination();
         String targetAddress = AmqpDestinationHelper.INSTANCE.getDestinationAddress(destination, getParent().getConnection());


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org