You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2017/03/28 03:01:54 UTC
[2/2] activemq-artemis git commit: ARTEMIS-1056 Better event
processing
ARTEMIS-1056 Better event processing
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/dce59d54
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/dce59d54
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/dce59d54
Branch: refs/heads/master
Commit: dce59d5436bb4456c20cf4bf9179be83cd5de8c8
Parents: feadb63
Author: Clebert Suconic <cl...@apache.org>
Authored: Mon Mar 27 17:45:01 2017 -0400
Committer: Justin Bertram <jb...@apache.org>
Committed: Mon Mar 27 22:01:36 2017 -0500
----------------------------------------------------------------------
.../amqp/proton/handler/ProtonHandler.java | 41 ++++++++------------
1 file changed, 16 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/dce59d54/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java
index 045016a..b5594fa 100644
--- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java
+++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java
@@ -164,7 +164,7 @@ public class ProtonHandler extends ProtonInitializable {
capacity = transport.capacity();
}
} catch (Throwable e) {
- log.debug(e.getMessage(), e);
+ log.warn(e.getMessage(), e);
}
receivedFirstPacket = true;
@@ -296,20 +296,6 @@ public class ProtonHandler extends ProtonInitializable {
}
}
- private Event popEvent() {
- synchronized (lock) {
- Event ev = collector.peek();
- if (ev != null) {
- // pop will invalidate the event
- // for that reason we make a new one
- // Events are reused inside the collector, so we need to make a new one here
- ev = ev.copy();
- collector.pop();
- }
- return ev;
- }
- }
-
private void dispatchAuth(boolean sasl) {
for (EventHandler h : handlers) {
h.onAuthInit(this, getConnection(), sasl);
@@ -322,17 +308,22 @@ public class ProtonHandler extends ProtonInitializable {
// because we could have a distributed deadlock
// while processing events (for instance onTransport)
// while a client is also trying to write here
- while ((ev = popEvent()) != null) {
- for (EventHandler h : handlers) {
- if (log.isTraceEnabled()) {
- log.trace("Handling " + ev + " towards " + h);
- }
- try {
- Events.dispatch(ev, h);
- } catch (Exception e) {
- log.warn(e.getMessage(), e);
- connection.setCondition(new ErrorCondition());
+
+ synchronized (lock) {
+ while ((ev = collector.peek()) != null) {
+ for (EventHandler h : handlers) {
+ if (log.isTraceEnabled()) {
+ log.trace("Handling " + ev + " towards " + h);
+ }
+ try {
+ Events.dispatch(ev, h);
+ } catch (Exception e) {
+ log.warn(e.getMessage(), e);
+ connection.setCondition(new ErrorCondition());
+ }
}
+
+ collector.pop();
}
}