[java-opensaml2 COMMIT] in /branches/REL_2: doc/RELEASE-NOTES.txt src/main/java/org/opensaml/saml2/metadata/provider/...

noreply at shibboleth.net noreply at shibboleth.net
Sun Oct 9 15:20:19 BST 2011


Author: lajoie
Date: Sun Oct  9 15:20:19 2011
New Revision: 1554

URL: http://svn.shibboleth.net/view/java-opensaml2?rev=1554&view=rev
Log:
refactor code so that next refresh task is created and scheduled in one place
log next refresh time in both Zulu and local time - JOST-160

Modified:
    branches/REL_2/doc/RELEASE-NOTES.txt
    branches/REL_2/src/main/java/org/opensaml/saml2/metadata/provider/AbstractReloadingMetadataProvider.java

Modified: branches/REL_2/doc/RELEASE-NOTES.txt
URL: http://svn.shibboleth.net/view/java-opensaml2/branches/REL_2/doc/RELEASE-NOTES.txt?rev=1554&r1=1553&r2=1554&view=diff
==============================================================================
--- branches/REL_2/doc/RELEASE-NOTES.txt (original)
+++ branches/REL_2/doc/RELEASE-NOTES.txt Sun Oct  9 15:20:19 2011
@@ -1,5 +1,6 @@
 Changes in Release 2.5.2
 =============================================
+[JOST-160] - Not all times in logging normalized to Zulu
 [JOST-163] - No way to stop AbstractReloadingMetadataProvider threads
 [JOST-164] - MetadataProvider minRefreshDelay cannot be set greater than 4 hours
 [JOST-165] - Update 3rd party runtime library dependencies

Modified: branches/REL_2/src/main/java/org/opensaml/saml2/metadata/provider/AbstractReloadingMetadataProvider.java
URL: http://svn.shibboleth.net/view/java-opensaml2/branches/REL_2/src/main/java/org/opensaml/saml2/metadata/provider/AbstractReloadingMetadataProvider.java?rev=1554&r1=1553&r2=1554&view=diff
==============================================================================
--- branches/REL_2/src/main/java/org/opensaml/saml2/metadata/provider/AbstractReloadingMetadataProvider.java (original)
+++ branches/REL_2/src/main/java/org/opensaml/saml2/metadata/provider/AbstractReloadingMetadataProvider.java Sun Oct  9 15:20:19 2011
@@ -55,10 +55,10 @@
 
     /** Timer used to schedule background metadata update tasks. */
     private Timer taskTimer;
-    
-    /** Whether we created our own task timer during object construction.*/
+
+    /** Whether we created our own task timer during object construction. */
     private boolean createdOwnTaskTimer;
-    
+
     /** Current task to refresh metadata. */
     private RefreshMetadataTask refresMetadataTask;
 
@@ -212,20 +212,20 @@
     /** {@inheritDoc} */
     public synchronized void destroy() {
         refresMetadataTask.cancel();
-        
-        if(createdOwnTaskTimer){
+
+        if (createdOwnTaskTimer) {
             taskTimer.cancel();
         }
-        
+
         expirationTime = null;
         lastRefresh = null;
         lastUpdate = null;
         nextRefresh = null;
         cachedMetadata = null;
-        
+
         super.destroy();
     }
-    
+
     /** {@inheritDoc} */
     protected XMLObject doGetMetadata() throws MetadataProviderException {
         return cachedMetadata;
@@ -256,20 +256,20 @@
             if (mdBytes == null) {
                 log.debug("Metadata from '{}' has not changed since last refresh", mdId);
                 processCachedMetadata(mdId, now);
-                log.info(
-                        "Metadata from '{}' unchanged since last refresh, next refresh will occur at approximately {}",
-                        getMetadataIdentifier(), nextRefresh);
             } else {
                 log.debug("Processing new metadata from '{}'", mdId);
                 processNewMetadata(mdId, now, mdBytes);
             }
         } catch (Exception e) {
-            log.debug("Error occurred while attempting to refresh metadata from '{}', "
-                    + "next refresh will occur in approximately {} ms", mdId, minRefreshDelay);
-            refresMetadataTask = new RefreshMetadataTask();
-            taskTimer.schedule(refresMetadataTask, minRefreshDelay);
+            log.debug("Error occurred while attempting to refresh metadata from '{}'", e);
+            nextRefresh = new DateTime(ISOChronology.getInstanceUTC()).plus(minRefreshDelay);
             throw new MetadataProviderException(e);
         } finally {
+            refresMetadataTask = new RefreshMetadataTask();
+            long nextRefreshDelay = nextRefresh.getMillis() - System.currentTimeMillis();
+            taskTimer.schedule(refresMetadataTask, nextRefreshDelay);
+            log.info("Next refresh cycle for metadata provider '{}' will occur on '{}' ('{}' local time)",
+                    new Object[] {mdId, nextRefresh, nextRefresh.toDateTime(DateTimeZone.getDefault()),});
             lastRefresh = now;
         }
     }
@@ -323,13 +323,10 @@
         DateTime metadataExpirationTime =
                 SAML2Helper
                         .getEarliestExpiration(cachedMetadata, refreshStart.plus(getMaxRefreshDelay()), refreshStart);
-        log.debug("Expiration of cached metadata from '{}' will occur at {}", metadataIdentifier,
-                metadataExpirationTime.toString());
 
         expirationTime = metadataExpirationTime;
         long nextRefreshDelay = computeNextRefreshDelay(expirationTime);
         nextRefresh = new DateTime(ISOChronology.getInstanceUTC()).plus(nextRefreshDelay);

[... 49 lines stripped ...]


More information about the commits mailing list