You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2017/01/19 17:22:50 UTC
qpid-jms git commit: QPIDJMS-258 Don't create a new dispatch task for
every message
Repository: qpid-jms
Updated Branches:
refs/heads/master 01744bf8e -> 405341282
QPIDJMS-258 Don't create a new dispatch task for every message
The dispatch task is stateless and can be reused so we don't need to
create one every time.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/40534128
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/40534128
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/40534128
Branch: refs/heads/master
Commit: 40534128246bb3d9cf4690223cf12f27a609f628
Parents: 01744bf
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Jan 19 12:22:14 2017 -0500
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Jan 19 12:22:14 2017 -0500
----------------------------------------------------------------------
.../src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/40534128/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java
index d782fab..b06270f 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java
@@ -66,6 +66,7 @@ public class JmsMessageConsumer implements AutoCloseable, MessageConsumer, JmsMe
protected final Lock lock = new ReentrantLock();
protected final AtomicBoolean suspendedConnection = new AtomicBoolean();
protected final AtomicReference<Throwable> failureCause = new AtomicReference<>();
+ protected final MessageDeliverTask deliveryTask = new MessageDeliverTask();
protected JmsMessageConsumer(JmsConsumerId consumerId, JmsSession session, JmsDestination destination,
String selector, boolean noLocal) throws JMSException {
@@ -497,7 +498,7 @@ public class JmsMessageConsumer implements AutoCloseable, MessageConsumer, JmsMe
if (session.isStarted() && messageQueue.isRunning()) {
if (messageListener != null) {
- session.getDispatcherExecutor().execute(new MessageDeliverTask());
+ session.getDispatcherExecutor().execute(deliveryTask);
} else if (availableListener != null) {
session.getDispatcherExecutor().execute(new Runnable() {
@Override
@@ -563,7 +564,7 @@ public class JmsMessageConsumer implements AutoCloseable, MessageConsumer, JmsMe
void drainMessageQueueToListener() {
if (messageListener != null && messageQueue.isRunning()) {
- session.getDispatcherExecutor().execute(new MessageDeliverTask());
+ session.getDispatcherExecutor().execute(deliveryTask);
}
}
@@ -590,6 +591,7 @@ public class JmsMessageConsumer implements AutoCloseable, MessageConsumer, JmsMe
@Override
public void setMessageListener(MessageListener listener) throws JMSException {
checkClosed();
+
this.messageListener = listener;
if (listener != null) {
consumerInfo.setListener(true);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org