[utilities COMMIT] /java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/service/AbstractReloadable...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Mar 24 06:28:37 EDT 2015
Author: rdw
Date: Tue Mar 24 06:28:36 2015
New Revision: 781
URL: http://svn.shibboleth.net/view/utilities?rev=781&view=rev
Log:
IDP-663 Add an extra safety net at the bottom of the reloadable service stack. Log (at debug) a reload error there as well. Fix a couple of errors in service teardown.
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=781&r1=780&r2=781&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 Tue Mar 24 06:28:36 2015
@@ -75,7 +75,7 @@
/** The log prefix. */
@Nullable private String logPrefix;
-
+
/** Constructor. */
public AbstractReloadableService() {
reloadCheckDelay = 0;
@@ -85,7 +85,9 @@
* Gets the number of milliseconds between one reload check and another. A value of 0 or less indicates that no
* reloading will be performed.
*
- * <p>Default value: 0</p>
+ * <p>
+ * Default value: 0
+ * </p>
*
* @return number of milliseconds between one reload check and another
*/
@@ -171,7 +173,7 @@
try {
lastReloadInstant = new DateTime(ISOChronology.getInstanceUTC());
doReload();
- lastSuccessfulReleaseInstant = lastReloadInstant;
+ lastSuccessfulReleaseInstant = lastReloadInstant;
} catch (final ServiceException e) {
if (isFailFast()) {
throw new ComponentInitializationException(getLogPrefix() + " could not perform initial load", e);
@@ -182,6 +184,9 @@
} else {
log.error("{} No further attempts will be made to reload", getLogPrefix());
}
+ } catch (final Exception e) {
+ log.error("{} Unexpected error during initial load {}", getLogPrefix(), e);
+ throw new ComponentInitializationException(getLogPrefix() + " Unexpected error during initial load", e);
}
if (reloadCheckDelay > 0) {
@@ -198,14 +203,13 @@
}
/** {@inheritDoc} */
- @Override
- protected void doDestroy() {
+ @Override protected void doDestroy() {
log.info("{} Starting shutdown", getLogPrefix());
if (reloadTask != null) {
reloadTask.cancel();
reloadTask = null;
}
- if (reloadTaskTimer == null) {
+ if (reloadTaskTimer == null && internalTaskTimer != null) {
internalTaskTimer.cancel();
}
internalTaskTimer = null;
@@ -283,11 +287,13 @@
if (shouldReload()) {
try {
reload();
- } catch (final ServiceException e) {
-
+ } catch (final ServiceException se) {
+ log.debug("{} Previously logged error during reload", getLogPrefix(), se);
+ } catch (final Throwable t) {
+ log.warn("{} Unexpected error during reload", getLogPrefix(), t);
}
}
}
}
-
+
}
More information about the commits
mailing list