summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/cmscore/connector
diff options
context:
space:
mode:
Diffstat (limited to 'base/common/src/com/netscape/cmscore/connector')
-rw-r--r--base/common/src/com/netscape/cmscore/connector/HttpConnector.java5
-rw-r--r--base/common/src/com/netscape/cmscore/connector/LocalConnector.java3
-rw-r--r--base/common/src/com/netscape/cmscore/connector/Resender.java12
3 files changed, 19 insertions, 1 deletions
diff --git a/base/common/src/com/netscape/cmscore/connector/HttpConnector.java b/base/common/src/com/netscape/cmscore/connector/HttpConnector.java
index f947164d9..d23d176db 100644
--- a/base/common/src/com/netscape/cmscore/connector/HttpConnector.java
+++ b/base/common/src/com/netscape/cmscore/connector/HttpConnector.java
@@ -202,7 +202,12 @@ public class HttpConnector implements IConnector {
}
public void start() {
+ mResender.setShutdown(false);
mResendThread.start();
}
+ public void stop() {
+ mResender.setShutdown(true);
+ }
+
}
diff --git a/base/common/src/com/netscape/cmscore/connector/LocalConnector.java b/base/common/src/com/netscape/cmscore/connector/LocalConnector.java
index c4eb78625..ba2db83a1 100644
--- a/base/common/src/com/netscape/cmscore/connector/LocalConnector.java
+++ b/base/common/src/com/netscape/cmscore/connector/LocalConnector.java
@@ -204,6 +204,9 @@ public class LocalConnector implements IConnector {
public void start() {
}
+ public void stop() {
+ }
+
protected void transferRequest(IRequest src, IRequest dest) {
RequestTransfer.transfer(src, dest);
}
diff --git a/base/common/src/com/netscape/cmscore/connector/Resender.java b/base/common/src/com/netscape/cmscore/connector/Resender.java
index e1b19749a..64a99820a 100644
--- a/base/common/src/com/netscape/cmscore/connector/Resender.java
+++ b/base/common/src/com/netscape/cmscore/connector/Resender.java
@@ -49,6 +49,14 @@ public class Resender implements IResender {
IRequestQueue mQueue = null;
protected IRemoteAuthority mDest = null;
+ public boolean isShutdown() {
+ return shutdown;
+ }
+
+ public void setShutdown(boolean shutdown) {
+ this.shutdown = shutdown;
+ }
+
/* Vector of Request Id *Strings* */
protected Vector<String> mRequestIds = new Vector<String>();
@@ -61,6 +69,8 @@ public class Resender implements IResender {
// was down (versus being serviced in request queue)
protected int mInterval = 1 * MINUTE;
+ protected volatile boolean shutdown = false;
+
public Resender(IAuthority authority, String nickName, IRemoteAuthority dest) {
mAuthority = authority;
mQueue = mAuthority.getRequestQueue();
@@ -125,7 +135,7 @@ public class Resender implements IResender {
mAuthority.log(ILogger.LL_INFO, CMS.getLogMessage("CMSCORE_CONNECTOR_RESENDER_INTERRUPTED"));
continue;
}
- } while (true);
+ } while (!shutdown);
}
private void resend() {