You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2016/06/09 16:10:13 UTC
activemq git commit: https://issues.apache.org/jira/browse/AMQ-6275
Repository: activemq
Updated Branches:
refs/heads/master bce5e5e9c -> 98d200083
https://issues.apache.org/jira/browse/AMQ-6275
Avoid unnecessary connection state lookup leading to lock ordering
issues.
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/98d20008
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/98d20008
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/98d20008
Branch: refs/heads/master
Commit: 98d20008333af380ae05d91036d123501115ab8c
Parents: bce5e5e
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Jun 9 12:09:42 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Jun 9 12:10:09 2016 -0400
----------------------------------------------------------------------
.../org/apache/activemq/broker/TransportConnection.java | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/98d20008/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
index 40b7d26..fde46c4 100755
--- a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
@@ -696,7 +696,7 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
broker.addConsumer(cs.getContext(), info);
try {
ss.addConsumer(info);
- addConsumerBrokerExchange(info.getConsumerId());
+ addConsumerBrokerExchange(cs, info.getConsumerId());
} catch (IllegalStateException e) {
broker.removeConsumer(cs.getContext(), info);
}
@@ -1538,15 +1538,14 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
return result;
}
- private ConsumerBrokerExchange addConsumerBrokerExchange(ConsumerId id) {
+ private ConsumerBrokerExchange addConsumerBrokerExchange(TransportConnectionState connectionState, ConsumerId id) {
ConsumerBrokerExchange result = consumerExchanges.get(id);
if (result == null) {
synchronized (consumerExchanges) {
result = new ConsumerBrokerExchange();
- TransportConnectionState state = lookupConnectionState(id);
- context = state.getContext();
+ context = connectionState.getContext();
result.setConnectionContext(context);
- SessionState ss = state.getSessionState(id.getParentId());
+ SessionState ss = connectionState.getSessionState(id.getParentId());
if (ss != null) {
ConsumerState cs = ss.getConsumerState(id);
if (cs != null) {