diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-01-15 12:40:37 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-01-15 12:40:37 +0000 |
| commit | 70d3a74e105bb6ca0be37c2eb89b92c61f1a1aae (patch) | |
| tree | 7a23ba8344dea25008513fcbe4b30077e84480b0 /qpid/java/broker-plugins | |
| parent | f346782d3e91c6ba8ce4d1d90773b816fcd8822b (diff) | |
| download | qpid-python-70d3a74e105bb6ca0be37c2eb89b92c61f1a1aae.tar.gz | |
QPID-5342 : [Java Client] 0-10 client does not close connection when heartbeat timeout interval has been exceeded
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1558363 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
3 files changed, 10 insertions, 15 deletions
diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngine_0_10.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngine_0_10.java index b8fcdbfe6d..6d3babe515 100755 --- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngine_0_10.java +++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngine_0_10.java @@ -24,7 +24,6 @@ import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.logging.messages.ConnectionMessages; import org.apache.qpid.server.model.Port; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.v0_10.ServerConnection; import org.apache.qpid.transport.Sender; import org.apache.qpid.transport.network.Assembler; import org.apache.qpid.transport.network.Disassembler; @@ -156,7 +155,8 @@ public class ProtocolEngine_0_10 extends InputHandler implements ServerProtocol public void readerIdle() { - //Todo + _connection.getLogActor().message(ConnectionMessages.IDLE_CLOSE()); + _network.close(); } public String getAddress() diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java index b4d591a72f..66ffd1ef94 100644 --- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java +++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java @@ -73,7 +73,6 @@ public class ServerConnection extends Connection implements AMQConnectionModel, private Port _port; private AtomicLong _lastIoTime = new AtomicLong(); private boolean _blocking; - private NetworkConnection _networkConnection; private Transport _transport; private volatile boolean _stopped; @@ -528,7 +527,7 @@ public class ServerConnection extends Connection implements AMQConnectionModel, public Principal getPeerPrincipal() { - return _networkConnection.getPeerPrincipal(); + return getNetworkConnection().getPeerPrincipal(); } @Override @@ -543,16 +542,6 @@ public class ServerConnection extends Connection implements AMQConnectionModel, super.setLocalAddress(localAddress); } - public void setNetworkConnection(NetworkConnection network) - { - _networkConnection = network; - } - - public NetworkConnection getNetworkConnection() - { - return _networkConnection; - } - public void doHeartbeat() { super.doHeartBeat(); diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java index 129a811b61..a15fea1200 100644 --- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java +++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java @@ -236,7 +236,6 @@ public class ServerConnectionDelegate extends ServerDelegate } final NetworkConnection networkConnection = sconn.getNetworkConnection(); - if(ok.hasHeartbeat()) { int heartbeat = ok.getHeartbeat(); @@ -352,4 +351,11 @@ public class ServerConnectionDelegate extends ServerDelegate { return _clientProperties == null ? null : (String) _clientProperties.get(ConnectionStartProperties.PRODUCT); } + + @Override + protected int getHeartbeatMax() + { + int delay = (Integer)_broker.getAttribute(Broker.CONNECTION_HEART_BEAT_DELAY); + return delay == 0 ? super.getHeartbeatMax() : delay; + } } |
