diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2012-04-17 20:09:37 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2012-04-17 20:09:37 +0000 |
| commit | 7bdfcea8ed796a70b9d1e1ca39ac4dd1485ad41b (patch) | |
| tree | dd037ab5ecc308a591339402dcf80c7e5aa5bf4e /java/amqp-1-0-client-jms | |
| parent | 330c5ce8fe684975b3a081d734779303f0e4268c (diff) | |
| download | qpid-python-7bdfcea8ed796a70b9d1e1ca39ac4dd1485ad41b.tar.gz | |
QPID-3953 : [Java AMQP 1-0] Fix durable subscribers
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1327268 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/amqp-1-0-client-jms')
2 files changed, 19 insertions, 5 deletions
diff --git a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java index 66bf91a53f..d9e6dfe36d 100644 --- a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java +++ b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java @@ -20,16 +20,14 @@ */ package org.apache.qpid.amqp_1_0.jms.impl; -import org.apache.qpid.amqp_1_0.jms.Connection; -import org.apache.qpid.amqp_1_0.jms.ConnectionFactory; - +import java.net.MalformedURLException; +import java.net.URL; import javax.jms.JMSException; import javax.jms.QueueConnection; import javax.jms.QueueConnectionFactory; import javax.jms.TopicConnection; import javax.jms.TopicConnectionFactory; -import java.net.MalformedURLException; -import java.net.URL; +import org.apache.qpid.amqp_1_0.jms.ConnectionFactory; public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnectionFactory, QueueConnectionFactory { @@ -45,6 +43,14 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection public ConnectionFactoryImpl(final String host, final int port, final String username, + final String password) + { + this(host,port,username,password,null,false); + } + + public ConnectionFactoryImpl(final String host, + final int port, + final String username, final String password, final String clientId) { diff --git a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/TopicSubscriberImpl.java b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/TopicSubscriberImpl.java index 9550be3779..52d8c412ec 100644 --- a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/TopicSubscriberImpl.java +++ b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/TopicSubscriberImpl.java @@ -79,6 +79,14 @@ public class TopicSubscriberImpl extends MessageConsumerImpl implements TopicSub if(!address.equals(actualAddress) || !filtersEqual(getFilters(), actualFilters))
{
receiver.close();
+ if(isDurable())
+ {
+ receiver = getSession().getClientSession().createReceiver(address,
+ StdDistMode.COPY, AcknowledgeMode.ALO,
+ getLinkName(), false, getFilters(),
+ null);
+ receiver.close();
+ }
receiver = getSession().getClientSession().createReceiver(address,
StdDistMode.COPY, AcknowledgeMode.ALO,
getLinkName(), isDurable(), getFilters(),
|
