From 309f2f88d0a10def70bff0b08e660a8dd57fe27f Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Wed, 25 Sep 2013 13:53:57 +0000 Subject: QPID-5166 : Lazily create dispatcher thread in JMS Session implementation (patch from dingham@microsoft.com) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1526177 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java index 2ae67913fe..02982a9cec 100644 --- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java +++ b/qpid/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()) -- cgit v1.2.1