summaryrefslogtreecommitdiff
path: root/java/amqp-1-0-client-jms
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2012-04-17 20:09:37 +0000
committerRobert Godfrey <rgodfrey@apache.org>2012-04-17 20:09:37 +0000
commit7bdfcea8ed796a70b9d1e1ca39ac4dd1485ad41b (patch)
treedd037ab5ecc308a591339402dcf80c7e5aa5bf4e /java/amqp-1-0-client-jms
parent330c5ce8fe684975b3a081d734779303f0e4268c (diff)
downloadqpid-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')
-rw-r--r--java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java16
-rw-r--r--java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/TopicSubscriberImpl.java8
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(),