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 | 145643e40c13ba84128c94df4904d45d7ac866ef (patch) | |
| tree | ca36b325c6e501519060a056657dd56c6511e1e5 /qpid/java/client | |
| parent | 558dcdd6eefd334cd81fcf0c4a3843097974f652 (diff) | |
| download | qpid-python-145643e40c13ba84128c94df4904d45d7ac866ef.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@659631 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/client')
3 files changed, 11 insertions, 43 deletions
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 b747e31016..4ade83e013 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 @@ -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/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 202bd90991..cf5e1bd8ac 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 @@ -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/qpid/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java index 61ba3aad3a..0e7bb2208b 100644 --- a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java +++ b/qpid/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); } |
