summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
index 2ae67913fe..02982a9cec 100644
--- a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
+++ b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
@@ -140,8 +140,6 @@ public class SessionImpl implements Session, QueueSession, TopicSession
_messageFactory = new MessageFactory(this);
- _dispatcherThread = new Thread(_dispatcher);
- _dispatcherThread.start();
}
public BytesMessageImpl createBytesMessage() throws IllegalStateException
@@ -384,6 +382,12 @@ public class SessionImpl implements Session, QueueSession, TopicSession
final MessageConsumerImpl messageConsumer;
synchronized(_session.getEndpoint().getLock())
{
+ if(_dispatcherThread == null)
+ {
+ _dispatcherThread = new Thread(_dispatcher);
+ _dispatcherThread.start();
+ }
+
messageConsumer = new MessageConsumerImpl(destination, this, selector, noLocal);
addConsumer(messageConsumer);
if(_connection.isStarted())