[java-shib-shared] 04/05: JSSH-71 Remove the impact of the DestructableComponent Interface

Codeberg noreply at shibboleth.net
Mon Jul 20 12:31:39 UTC 2026


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

codeberg pushed a commit to branch main
in repository java-shib-shared.

View the commit online:
https://codeberg.org/Shibboleth/java-shib-shared/commit/ee10e8215d8a89eb908ff5823ef4a3877945bd22

commit ee10e8215d8a89eb908ff5823ef4a3877945bd22
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Jul 19 16:16:58 2026 +0100

    JSSH-71 Remove the impact of the DestructableComponent Interface
    
    https://shibboleth.atlassian.net/browse/JSSH-71
    
    Mitigate against the new "You called destroy" logging in
    AbstractServiceableCmponent which has to call destroy on itself
    (because of the pre 6.0 API contract).
---
 .../shared/spring/service/AbstractServiceableComponent.java       | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/shib-service/src/main/java/net/shibboleth/shared/spring/service/AbstractServiceableComponent.java b/shib-service/src/main/java/net/shibboleth/shared/spring/service/AbstractServiceableComponent.java
index ea96897a..9d3d1912 100644
--- a/shib-service/src/main/java/net/shibboleth/shared/spring/service/AbstractServiceableComponent.java
+++ b/shib-service/src/main/java/net/shibboleth/shared/spring/service/AbstractServiceableComponent.java
@@ -131,6 +131,8 @@ public abstract class AbstractServiceableComponent<T> extends AbstractIdentifiab
         }
         // If we were not created by spring we need to do the destroy of ourself.
         // Note that we will end up being called here but will fall out at the top.
+        // V5.3 NOTE. We have to leave the destroy here because 3rd party upper layers may
+        // be using the old style.  We mitigate against logging by having a null doDestroy below.
         destroy();
         AnnotationsSupport.callOnTeardownAnnotations(this, getId(), log);
     }
@@ -154,9 +156,11 @@ public abstract class AbstractServiceableComponent<T> extends AbstractIdentifiab
      * unloaded, but we do the unload here so that error cases also clean up.
      */
     @Override protected void doDestroy() {
-        /* V6 code note.  This is  "belt and suspenders" and can be removed. */
+        /*
+         * V5.3/V6 code note.  This is  "belt and suspenders" and can be removed.
+         * Do NOT call super.doDestroy so as to subvert the logging.
+         */
         unloadComponent();
-        super.doDestroy();
     }
 
 }
\ No newline at end of file

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


More information about the commits mailing list