summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-01-15 12:40:37 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-01-15 12:40:37 +0000
commit70d3a74e105bb6ca0be37c2eb89b92c61f1a1aae (patch)
tree7a23ba8344dea25008513fcbe4b30077e84480b0 /qpid/java/broker-plugins
parentf346782d3e91c6ba8ce4d1d90773b816fcd8822b (diff)
downloadqpid-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')
-rwxr-xr-xqpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngine_0_10.java4
-rw-r--r--qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java13
-rw-r--r--qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java8
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;
+ }
}