[java-opensaml] 18/24: OSJ-216: Manual metadata resolver refresh() is starting multiple refresh cycles

Brent Putman putmanb at georgetown.edu
Wed Sep 27 16:46:12 EDT 2017


This is an automated email from the git hooks/post-receive script.

putmanb pushed a commit to branch maint-3.3
in repository java-opensaml.

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=0bc8abcbc63e702f039e5c750bb512395c8a8c44

commit 0bc8abcbc63e702f039e5c750bb512395c8a8c44
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Fri Sep 8 18:29:13 2017 -0400

    OSJ-216: Manual metadata resolver refresh() is starting multiple refresh
    cycles
---
 .../metadata/resolver/impl/AbstractReloadingMetadataResolver.java   | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
index 4ab0238..6c47004 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
@@ -281,6 +281,12 @@ public abstract class AbstractReloadingMetadataResolver extends AbstractBatchMet
         String mdId = null;
 
         try {
+            // A manual refresh() must cancel the previously-scheduled future task, since will (re)schedule its own.
+            // If this execution *is* the task, it's ok to cancel ourself, we're already running.
+            if (refreshMetadataTask != null) {
+                refreshMetadataTask.cancel();
+            }
+            
             now = new DateTime(ISOChronology.getInstanceUTC());
             mdId = getMetadataIdentifier();
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list