summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cms
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2012-02-27 14:58:24 -0600
committerEndi Sukma Dewata <edewata@redhat.com>2012-03-12 09:39:31 -0500
commit34f141c1144dac37248cf404835248413218627e (patch)
tree19b5b599f1eed47d020ec542c19bafdd84b1d57f /pki/base/common/src/com/netscape/cms
parent87585b101172461d2ad175515154a3f4dbdcd089 (diff)
downloadpki-34f141c1144dac37248cf404835248413218627e.tar.gz
pki-34f141c1144dac37248cf404835248413218627e.tar.xz
pki-34f141c1144dac37248cf404835248413218627e.zip
Refactored JobsScheduler.
The JobsScheduler has been modified to stop all jobs on shutdown. This is done by setting a flag in each job instead of stopping the job thread abruptly. Long running jobs should check this flag periodically and then exit gracefully. None of the existing jobs need to do this since they do not run very long. Other threads that run background services have been converted into daemons such that they will terminate automatically when the JVM exits. Ticket #73
Diffstat (limited to 'pki/base/common/src/com/netscape/cms')
-rw-r--r--pki/base/common/src/com/netscape/cms/jobs/AJobBase.java22
-rw-r--r--pki/base/common/src/com/netscape/cms/jobs/PublishCertsJob.java9
-rw-r--r--pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java2
-rw-r--r--pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java2
-rw-r--r--pki/base/common/src/com/netscape/cms/jobs/UnpublishExpiredJob.java2
5 files changed, 23 insertions, 14 deletions
diff --git a/pki/base/common/src/com/netscape/cms/jobs/AJobBase.java b/pki/base/common/src/com/netscape/cms/jobs/AJobBase.java
index 4a70147de..0da5d2028 100644
--- a/pki/base/common/src/com/netscape/cms/jobs/AJobBase.java
+++ b/pki/base/common/src/com/netscape/cms/jobs/AJobBase.java
@@ -74,6 +74,8 @@ public abstract class AJobBase implements IJob, Runnable {
protected Hashtable<String, Object> mContentParams = new Hashtable<String, Object>();
protected Hashtable<String, Object> mItemParams = new Hashtable<String, Object>();
+ boolean stopped;
+
public AJobBase() {
}
@@ -209,17 +211,17 @@ public abstract class AJobBase implements IJob, Runnable {
protected void buildItemParams(X509CertImpl cert) {
mItemParams.put(IEmailFormProcessor.TOKEN_SERIAL_NUM,
- (Object) cert.getSerialNumber().toString());
+ cert.getSerialNumber().toString());
mItemParams.put(IEmailFormProcessor.TOKEN_HEX_SERIAL_NUM,
- (Object) cert.getSerialNumber().toString(16));
+ cert.getSerialNumber().toString(16));
mItemParams.put(IEmailFormProcessor.TOKEN_ISSUER_DN,
- (Object) cert.getIssuerDN().toString());
+ cert.getIssuerDN().toString());
mItemParams.put(IEmailFormProcessor.TOKEN_SUBJECT_DN,
- (Object) cert.getSubjectDN().toString());
+ cert.getSubjectDN().toString());
mItemParams.put(IEmailFormProcessor.TOKEN_NOT_AFTER,
- (Object) cert.getNotAfter().toString());
+ cert.getNotAfter().toString());
mItemParams.put(IEmailFormProcessor.TOKEN_NOT_BEFORE,
- (Object) cert.getNotBefore().toString());
+ cert.getNotBefore().toString());
// ... and more
}
@@ -288,4 +290,12 @@ public abstract class AJobBase implements IJob, Runnable {
mLogger.log(ILogger.EV_SYSTEM, null, ILogger.S_OTHER,
level, mId + ": " + msg, multiline);
}
+
+ public void stop() {
+ stopped = true;
+ }
+
+ public boolean isStopped() {
+ return stopped;
+ }
}
diff --git a/pki/base/common/src/com/netscape/cms/jobs/PublishCertsJob.java b/pki/base/common/src/com/netscape/cms/jobs/PublishCertsJob.java
index 903f83691..2289d7255 100644
--- a/pki/base/common/src/com/netscape/cms/jobs/PublishCertsJob.java
+++ b/pki/base/common/src/com/netscape/cms/jobs/PublishCertsJob.java
@@ -17,7 +17,6 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.cms.jobs;
-import java.security.cert.X509Certificate;
import java.text.DateFormat;
import java.util.Date;
import java.util.Enumeration;
@@ -135,7 +134,7 @@ public class PublishCertsJob extends AJobBase
}
mReqQ = mCa.getRequestQueue();
- mRepository = (ICertificateRepository) mCa.getCertificateRepository();
+ mRepository = mCa.getCertificateRepository();
mPublisherProcessor = mCa.getPublisherProcessor();
// read from the configuration file
@@ -299,7 +298,7 @@ public class PublishCertsJob extends AJobBase
try {
if ((mPublisherProcessor != null) &&
mPublisherProcessor.enabled()) {
- mPublisherProcessor.publishCert((X509Certificate) cert, req);
+ mPublisherProcessor.publishCert(cert, req);
if (mSummary == true)
buildItemParams(IEmailFormProcessor.TOKEN_STATUS,
STATUS_SUCCESS);
@@ -322,7 +321,7 @@ public class PublishCertsJob extends AJobBase
try {
if ((mPublisherProcessor != null) &&
mPublisherProcessor.enabled()) {
- mPublisherProcessor.publishCert((X509Certificate) cert, null);
+ mPublisherProcessor.publishCert(cert, null);
if (mSummary == true)
buildItemParams(IEmailFormProcessor.TOKEN_STATUS,
@@ -396,6 +395,6 @@ public class PublishCertsJob extends AJobBase
* @return String array of configuration parameter names.
*/
public String[] getConfigParams() {
- return (mConfigParams);
+ return mConfigParams;
}
}
diff --git a/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java b/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java
index 621d987fe..5a14c6278 100644
--- a/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java
+++ b/pki/base/common/src/com/netscape/cms/jobs/RenewalNotificationJob.java
@@ -275,7 +275,7 @@ public class RenewalNotificationJob
return;
}
- mCertDB = (ICertificateRepository) mCA.getCertificateRepository();
+ mCertDB = mCA.getCertificateRepository();
mCron = mConfig.getString(IJobCron.PROP_CRON);
if (mCron == null) {
diff --git a/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java b/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java
index adddc9755..775845ca7 100644
--- a/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java
+++ b/pki/base/common/src/com/netscape/cms/jobs/RequestInQueueJob.java
@@ -213,6 +213,6 @@ public class RequestInQueueJob extends AJobBase
* @return String array of configuration parameter names.
*/
public String[] getConfigParams() {
- return (mConfigParams);
+ return mConfigParams;
}
}
diff --git a/pki/base/common/src/com/netscape/cms/jobs/UnpublishExpiredJob.java b/pki/base/common/src/com/netscape/cms/jobs/UnpublishExpiredJob.java
index c61d953eb..63cae7f30 100644
--- a/pki/base/common/src/com/netscape/cms/jobs/UnpublishExpiredJob.java
+++ b/pki/base/common/src/com/netscape/cms/jobs/UnpublishExpiredJob.java
@@ -135,7 +135,7 @@ public class UnpublishExpiredJob extends AJobBase
}
mReqQ = mCa.getRequestQueue();
- mRepository = (ICertificateRepository) mCa.getCertificateRepository();
+ mRepository = mCa.getCertificateRepository();
mPublisherProcessor = mCa.getPublisherProcessor();
// read from the configuration file