Repository: activemq-artemis
Updated Branches:
  refs/heads/master 958d74669 -> 6435e49e6


Removing Synchronization performed on 
java.util.concurrent.ConcurrentLinkedDeque object in class NettyConnection


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/1c2164ad
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/1c2164ad
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/1c2164ad

Branch: refs/heads/master
Commit: 1c2164adad63ccf592334f8ee3376254e26445d9
Parents: 958d746
Author: kurobako <[email protected]>
Authored: Fri Mar 4 23:44:16 2016 +0100
Committer: Clebert Suconic <[email protected]>
Committed: Mon Mar 7 15:58:42 2016 -0500

----------------------------------------------------------------------
 .../remoting/impl/netty/NettyConnection.java    | 46 +++++++++-----------
 1 file changed, 21 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1c2164ad/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnection.java
----------------------------------------------------------------------
diff --git 
a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnection.java
 
b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnection.java
index 45334ee..9268699 100644
--- 
a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnection.java
+++ 
b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnection.java
@@ -18,8 +18,8 @@ package org.apache.activemq.artemis.core.remoting.impl.netty;
 
 import java.net.SocketAddress;
 import java.util.Deque;
+import java.util.LinkedList;
 import java.util.Map;
-import java.util.concurrent.LinkedBlockingDeque;
 import java.util.concurrent.Semaphore;
 
 import io.netty.buffer.ByteBuf;
@@ -71,7 +71,7 @@ public class NettyConnection implements Connection {
 
    /** if {@link #isWritable(ReadyListener)} returns false, we add a callback
     *  here for when the connection (or Netty Channel) becomes available 
again. */
-   private final Deque<ReadyListener> readyListeners = new 
LinkedBlockingDeque<>();
+   private final Deque<ReadyListener> readyListeners = new LinkedList<>();
 
    // Static --------------------------------------------------------
 
@@ -102,34 +102,30 @@ public class NettyConnection implements Connection {
 
 
    @Override
-   public boolean isWritable(ReadyListener callback) {
-      synchronized (readyListeners) {
-         if (!ready) {
-            readyListeners.push(callback);
-         }
-
-         return ready;
+   public synchronized boolean isWritable(ReadyListener callback) {
+      if (!ready) {
+         readyListeners.push(callback);
       }
+
+      return ready;
    }
 
    @Override
-   public void fireReady(final boolean ready) {
-      synchronized (readyListeners) {
-         this.ready = ready;
-
-         if (ready) {
-            for (;;) {
-               ReadyListener readyListener = readyListeners.poll();
-               if (readyListener == null) {
-                  return;
-               }
+   public synchronized void fireReady(final boolean ready) {
+      this.ready = ready;
+
+      if (ready) {
+         for (;;) {
+            ReadyListener readyListener = readyListeners.poll();
+            if (readyListener == null) {
+               return;
+            }
 
-               try {
-                  readyListener.readyForWriting();
-               }
-               catch (Throwable logOnly) {
-                  ActiveMQClientLogger.LOGGER.warn(logOnly.getMessage(), 
logOnly);
-               }
+            try {
+               readyListener.readyForWriting();
+            }
+            catch (Throwable logOnly) {
+               ActiveMQClientLogger.LOGGER.warn(logOnly.getMessage(), logOnly);
             }
          }
       }

Reply via email to