private void examineChannel(ReliableTransportChannel channel) {
if (channel.getLastReceiptTimestamp() < (System.currentTimeMillis() - channel.getKeepAliveTimeout()))
if (channel.isTransportConnected() && !channel.isPendingStop()) {
log.info("Sending keep-alive on channel " + channel.toString());
KeepAlive packet = new KeepAlive();
packet.setId(packetIdGenerator.generateId());
try {
channel.asyncSendWithReceipt(packet);
zombieChannelSuspects.add(channel);
} catch (JMSException e) {
log.error("Error sending keep-alive to channel " + channel.toString()