From d9d77a7c1677b08322459354f5daf95aba534020 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Wed, 6 May 2015 10:49:50 +0000 Subject: Merge changes from trunk git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.32.x@1677957 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/amqp_1_0/client/TCPTransportProvider.java | 2 +- .../qpid/amqp_1_0/client/TransactionController.java | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvider.java b/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvider.java index 855d619081..e3a982d8a9 100644 --- a/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvider.java +++ b/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvider.java @@ -267,7 +267,7 @@ class TCPTransportProvider implements TransportProvider catch (IOException e) { conn.inputClosed(); - e.printStackTrace(); + RAW_LOGGER.log(Level.INFO, "IO Error reading from connection", e); } } } diff --git a/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransactionController.java b/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransactionController.java index 7bf143cf4b..4a4cce1146 100644 --- a/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransactionController.java +++ b/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransactionController.java @@ -113,13 +113,14 @@ public class TransactionController implements DeliveryStateHandler private void waitForResponse() throws LinkDetachedException { - synchronized (this) + final Object lock = _endpoint.getLock(); + synchronized (lock) { while(!_received && !_endpoint.isDetached()) { try { - wait(); + lock.wait(); } catch (InterruptedException e) { @@ -133,12 +134,16 @@ public class TransactionController implements DeliveryStateHandler } } - private synchronized void remoteDetached(Detach detach) + private void remoteDetached(Detach detach) { - if(detach != null && detach.getError() != null) + final Object lock = _endpoint.getLock(); + synchronized (lock) { - _error = detach.getError(); - notifyAll(); + if (detach != null && detach.getError() != null) + { + _error = detach.getError(); + lock.notifyAll(); + } } } -- cgit v1.2.1