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);
+ }
}
}