You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by bd...@apache.org on 2017/05/01 02:16:06 UTC

[3/3] shiro git commit: SHIRO-559 Remove checked exception on @PreDestroy in ShiroModule

SHIRO-559 Remove checked exception on @PreDestroy in ShiroModule

Required by Glassfish, possibly other containers per spec: https://docs.oracle.com/javaee/7/api/javax/annotation/PreDestroy.html


Project: http://git-wip-us.apache.org/repos/asf/shiro/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro/commit/b12d70e6
Tree: http://git-wip-us.apache.org/repos/asf/shiro/tree/b12d70e6
Diff: http://git-wip-us.apache.org/repos/asf/shiro/diff/b12d70e6

Branch: refs/heads/master
Commit: b12d70e60bcee29aa811f57525d21a787d42501c
Parents: 66e6b96
Author: Brian Demers <bd...@apache.org>
Authored: Sun Apr 30 22:08:59 2017 -0400
Committer: Brian Demers <bd...@apache.org>
Committed: Sun Apr 30 22:11:46 2017 -0400

----------------------------------------------------------------------
 .../java/org/apache/shiro/guice/ShiroModule.java    | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/shiro/blob/b12d70e6/support/guice/src/main/java/org/apache/shiro/guice/ShiroModule.java
----------------------------------------------------------------------
diff --git a/support/guice/src/main/java/org/apache/shiro/guice/ShiroModule.java b/support/guice/src/main/java/org/apache/shiro/guice/ShiroModule.java
index 2eac73d..3abbe95 100644
--- a/support/guice/src/main/java/org/apache/shiro/guice/ShiroModule.java
+++ b/support/guice/src/main/java/org/apache/shiro/guice/ShiroModule.java
@@ -29,7 +29,6 @@ import javax.annotation.PreDestroy;
 
 import com.google.inject.Provider;
 import com.google.inject.matcher.Matchers;
-import com.google.inject.name.Names;
 import com.google.inject.spi.InjectionListener;
 import com.google.inject.spi.TypeEncounter;
 import com.google.inject.spi.TypeListener;
@@ -54,6 +53,8 @@ import com.google.inject.binder.AnnotatedBindingBuilder;
 import com.google.inject.binder.LinkedBindingBuilder;
 import com.google.inject.multibindings.Multibinder;
 import com.google.inject.util.Types;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 /**
@@ -63,6 +64,8 @@ import com.google.inject.util.Types;
  */
 public abstract class ShiroModule extends PrivateModule implements Destroyable {
 
+    private final Logger log = LoggerFactory.getLogger(ShiroModule.class);
+
 	private Set<Destroyable> destroyables = Collections.newSetFromMap(new WeakHashMap<Destroyable, Boolean>());
     public void configure() {
         // setup security manager
@@ -79,7 +82,7 @@ public abstract class ShiroModule extends PrivateModule implements Destroyable {
             }
 
             @PreDestroy
-            public void destroy() throws Exception {
+            public void destroy() {
                 ShiroModule.this.destroy();
             }
         };
@@ -184,9 +187,14 @@ public abstract class ShiroModule extends PrivateModule implements Destroyable {
      *
      * @throws Exception
      */
-    public final void destroy() throws Exception {
+    public final void destroy() {
         for (Destroyable destroyable : destroyables) {
-            destroyable.destroy();
+            try {
+                destroyable.destroy();
+            }
+            catch(Exception e) {
+                log.warn("Error destroying component class: " + destroyable.getClass(), e);
+            }
         }
     }