From 4977b4a81ba0b67d1b85a30756fa67c842086efb Mon Sep 17 00:00:00 2001 From: David McKnight Date: Fri, 21 Jan 2011 15:51:01 +0000 Subject: [PATCH] [282364] [dstore][multithread] timer-threads stay active after disconnect --- .../dstore/internal/core/util/XMLparser.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLparser.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLparser.java index 5d5f3d823ed..844694d8309 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLparser.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLparser.java @@ -134,7 +134,10 @@ public class XMLparser _objStack = new Stack(); _maxBuffer = 100000; _byteBuffer = new byte[_maxBuffer]; - + + if (!_dataStore.isVirtual()){ + setEnableKeepalive(true); + } } /** @@ -746,11 +749,16 @@ public class XMLparser } else if (_isKeepAlive) { - if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive request received, sending confirmation."); //$NON-NLS-1$ - _dataStore.trace("KeepAlive request received, sending confirmation."); //$NON-NLS-1$ - result.getDataStore().sendKeepAliveConfirmation(); - _isKeepAlive = false; - } + if (_isKeepAliveEnabled){ + if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive request received, sending confirmation."); //$NON-NLS-1$ + _dataStore.trace("KeepAlive request received, sending confirmation."); //$NON-NLS-1$ + result.getDataStore().sendKeepAliveConfirmation(); + _isKeepAlive = false; + } + else { + _dataStore.trace("KeepAlive disabled so not responding to keepalive request"); //$NON-NLS-1$ + } + } else if (_isKeepAliveConfirm ) { if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive confirmation received."); //$NON-NLS-1$