[java-opensaml COMMIT] /trunk/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java
noreply at shibboleth.net
noreply at shibboleth.net
Fri Oct 11 11:18:21 EDT 2013
Author: scantor
Date: Fri Oct 11 11:18:21 2013
New Revision: 3466
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3466&view=rev
Log:
Auto-manage Timer if not set externally.
Modified:
trunk/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java
Modified: trunk/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java?rev=3466&r1=3465&r2=3466&view=diff
==============================================================================
--- trunk/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java (original)
+++ trunk/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java Fri Oct 11 11:18:21 2013
@@ -53,6 +53,9 @@
/** Timer used to schedule cleanup tasks. */
private Timer cleanupTaskTimer;
+ /** Timer used to schedule cleanup tasks if no external one set. */
+ private Timer internalTaskTimer;
+
/** Task that cleans up expired records. */
private TimerTask cleanupTask;
@@ -170,9 +173,13 @@
if (cleanupInterval > 0) {
cleanupTask = getCleanupTask();
- if (cleanupTask == null || cleanupTaskTimer == null) {
+ if (cleanupTask == null) {
throw new ComponentInitializationException(
- "Cleanup task and timer cannot be null if cleanupInterval is set.");
+ "Cleanup task cannot be null if cleanupInterval is set.");
+ } else if (cleanupTaskTimer == null) {
+ internalTaskTimer = new Timer();
+ } else {
+ internalTaskTimer = cleanupTaskTimer;
}
cleanupTaskTimer.schedule(cleanupTask, cleanupInterval * 1000, cleanupInterval * 1000);
}
@@ -183,6 +190,10 @@
if (cleanupTask != null) {
cleanupTask.cancel();
cleanupTask = null;
+ if (cleanupTaskTimer == null) {
+ internalTaskTimer.cancel();
+ }
+ internalTaskTimer = null;
}
super.doDestroy();
}
More information about the commits
mailing list