From bf3ace9ec0a1c6749963e0c0cf24ddfdfd15a0b3 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Mon, 22 Jun 2009 13:21:50 +0000 Subject: QPID-1923: made createDurableSubscriber fail on a temporary topic git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@787231 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/client/AMQSession.java | 15 ++++++++++-- .../org/apache/qpid/client/AMQSession_0_10.java | 2 +- .../org/apache/qpid/client/AMQSession_0_8.java | 2 +- .../test/unit/topic/DurableSubscriptionTest.java | 27 ++++++++++++++++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) (limited to 'qpid/java') 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 3529cfa6ad..a40295a9b7 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 @@ -944,7 +944,7 @@ public abstract class AMQSessionnot be as a result of an error. * diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java index 1515a07507..7ce51c8918 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java @@ -788,7 +788,7 @@ public class AMQSession_0_10 extends AMQSession subscriber=_subscriptions.get(name); diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java index ff8631c12e..fa4e08f62b 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java @@ -427,7 +427,7 @@ public final class AMQSession_0_8 extends AMQSession subscriber = _subscriptions.get(name); if (subscriber != null) diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java index cbe25e4f32..c5cdb83bbf 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java @@ -37,6 +37,7 @@ import javax.jms.MessageConsumer; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; +import javax.jms.Topic; import javax.jms.TopicSubscriber; /** @@ -389,6 +390,32 @@ public class DurableSubscriptionTest extends QpidTestCase session.unsubscribe("testResubscribeWithChangedSelector"); } + public void testDurableSubscribeWithTemporaryTopic() throws Exception + { + Connection conn = getConnection(); + conn.start(); + Session ssn = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); + Topic topic = ssn.createTemporaryTopic(); + try + { + ssn.createDurableSubscriber(topic, "test"); + fail("expected InvalidDestinationException"); + } + catch (InvalidDestinationException ex) + { + // this is expected + } + try + { + ssn.createDurableSubscriber(topic, "test", null, false); + fail("expected InvalidDestinationException"); + } + catch (InvalidDestinationException ex) + { + // this is expected + } + } + private void sendMatchingAndNonMatchingMessage(Session session, MessageProducer producer) throws JMSException { TextMessage msg = session.createTextMessage("testResubscribeWithChangedSelector1"); -- cgit v1.2.1