summaryrefslogtreecommitdiff
path: root/java/client
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-05-23 19:16:04 +0000
committerRafael H. Schloming <rhs@apache.org>2008-05-23 19:16:04 +0000
commit51db72d6d1fdbaebfc2f91fec611cf26d35ea8f5 (patch)
tree31e58d40ccc2d898b840c21b5a32030a671091d2 /java/client
parent896d94f7c27e958806b96b537a7a96208ede145a (diff)
downloadqpid-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')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQSession.java26
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java27
-rw-r--r--java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java1
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);
}