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