diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2008-05-23 19:16:04 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2008-05-23 19:16:04 +0000 |
| commit | 51db72d6d1fdbaebfc2f91fec611cf26d35ea8f5 (patch) | |
| tree | 31e58d40ccc2d898b840c21b5a32030a671091d2 /java/client | |
| parent | 896d94f7c27e958806b96b537a7a96208ede145a (diff) | |
| download | qpid-python-51db72d6d1fdbaebfc2f91fec611cf26d35ea8f5.tar.gz | |
QPID-901: Track and report session exceptions, modified generator validate values before trying to encode them. Also, moved createDurableSubscriber from AMQSession_0_10 -> AMQSession.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@659631 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client')
3 files changed, 11 insertions, 43 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQSession.java b/java/client/src/main/java/org/apache/qpid/client/AMQSession.java index b747e31016..4ade83e013 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQSession.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQSession.java @@ -919,28 +919,22 @@ public abstract class AMQSession extends Closeable implements Session, QueueSess public abstract TopicSubscriber createDurableSubscriber(Topic topic, String name) throws JMSException; - /** Note, currently this does not handle reuse of the same name with different topics correctly. */ public TopicSubscriber createDurableSubscriber(Topic topic, String name, String messageSelector, boolean noLocal) - throws JMSException + throws JMSException { checkNotClosed(); checkValidTopic(topic); - AMQTopic dest = AMQTopic.createDurableTopic((AMQTopic) topic, name, _connection); - try - { - BasicMessageConsumer consumer = (BasicMessageConsumer) createConsumer(dest, messageSelector, noLocal); - TopicSubscriberAdaptor subscriber = new TopicSubscriberAdaptor(dest, consumer); - _subscriptions.put(name, subscriber); - _reverseSubscriptionMap.put(subscriber.getMessageConsumer(), name); - - return subscriber; - } - catch (JMSException e) + if (_subscriptions.containsKey(name)) { - deleteQueue(dest.getAMQQueueName()); - throw e; + _subscriptions.get(name).close(); } - + AMQTopic dest = AMQTopic.createDurableTopic((AMQTopic) topic, name, _connection); + BasicMessageConsumer consumer = (BasicMessageConsumer) createConsumer(dest, messageSelector, noLocal); + TopicSubscriberAdaptor subscriber = new TopicSubscriberAdaptor(dest, consumer); + _subscriptions.put(name, subscriber); + _reverseSubscriptionMap.put(subscriber.getMessageConsumer(), name); + + return subscriber; } public MapMessage createMapMessage() throws JMSException diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java index 202bd90991..cf5e1bd8ac 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java @@ -125,33 +125,6 @@ public class AMQSession_0_10 extends AMQSession //------- overwritten methods of class AMQSession - public TopicSubscriber createDurableSubscriber(Topic topic, String name, String messageSelector, boolean noLocal) - throws JMSException - { - checkNotClosed(); - checkValidTopic(topic); - if (_subscriptions.containsKey(name)) - { - _subscriptions.get(name).close(); - } - AMQTopic dest = AMQTopic.createDurableTopic((AMQTopic) topic, name, _connection); - try - { - BasicMessageConsumer consumer = (BasicMessageConsumer) createConsumer(dest, messageSelector, noLocal); - TopicSubscriberAdaptor subscriber = new TopicSubscriberAdaptor(dest, consumer); - _subscriptions.put(name, subscriber); - _reverseSubscriptionMap.put(subscriber.getMessageConsumer(), name); - - return subscriber; - } - catch (JMSException e) - { - deleteQueue(dest.getAMQQueueName()); - throw e; - } - - } - /** * Acknowledge one or many messages. * diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java index 61ba3aad3a..0e7bb2208b 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java @@ -113,6 +113,7 @@ public class PropertyValueTest extends QpidTestCase implements MessageListener } catch (Exception e) { + _logger.error("exception:", e); fail("Unable to initialilse connection: " + e); } |
