[utilities COMMIT] /java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/service/AbstractReloadable...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Dec 12 17:57:31 EST 2014
Author: scantor
Date: Fri Dec 12 17:57:31 2014
New Revision: 705
URL: http://svn.shibboleth.net/view/utilities?rev=705&view=rev
Log:
IDP-539 - Fix AbstractReloadableService to create its own Timer, and pull dependency on TaskTimer bean.
Modified:
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/service/AbstractReloadableService.java
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/service/AbstractReloadableService.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/service/AbstractReloadableService.java?rev=705&r1=704&r2=705&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/service/AbstractReloadableService.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/service/AbstractReloadableService.java Fri Dec 12 17:57:31 2014
@@ -55,6 +55,9 @@
/** Timer used to schedule configuration reload tasks. */
@Nullable private Timer reloadTaskTimer;
+ /** Timer used to schedule reload tasks if no external one set. */
+ @Nullable private Timer internalTaskTimer;
+
/** Watcher that monitors the set of configuration resources for this service for changes. */
@Nullable private ServiceReloadTask reloadTask;
@@ -182,12 +185,14 @@
if (reloadCheckDelay > 0) {
if (null == reloadTaskTimer) {
- log.info("{} No reload task timer specified, creating default", getLogPrefix());
- reloadTaskTimer = new Timer("Timer for " + getId());
+ log.debug("{} No reload task timer specified, creating default", getLogPrefix());
+ internalTaskTimer = new Timer("Timer for " + getId());
+ } else {
+ internalTaskTimer = reloadTaskTimer;
}
log.info("{} Reload time set to: {}, starting refresh thread", getLogPrefix(), reloadCheckDelay);
reloadTask = new ServiceReloadTask();
- reloadTaskTimer.schedule(reloadTask, reloadCheckDelay, reloadCheckDelay);
+ internalTaskTimer.schedule(reloadTask, reloadCheckDelay, reloadCheckDelay);
}
}
@@ -195,11 +200,16 @@
@Override
protected void doDestroy() {
log.info("{} Starting shutdown", getLogPrefix());
- super.doDestroy();
if (reloadTask != null) {
reloadTask.cancel();
- }
+ reloadTask = null;
+ }
+ if (reloadTaskTimer == null) {
+ internalTaskTimer.cancel();
+ }
+ internalTaskTimer = null;
log.info("{} Completing shutdown", getLogPrefix());
+ super.doDestroy();
}
/**
More information about the commits
mailing list