[java-identity-provider COMMIT] /trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/...

noreply at shibboleth.net noreply at shibboleth.net
Sat Dec 6 17:10:46 EST 2014


Author: scantor
Date: Sat Dec  6 17:10:46 2014
New Revision: 7048

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7048&view=rev
Log:
IDP-526 - Fix slow unload of filter by switching to prototype beans

Modified:
    trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java

Modified: trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java?rev=7048&r1=7047&r2=7048&view=diff
==============================================================================
--- trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java (original)
+++ trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java Sat Dec  6 17:10:46 2014
@@ -28,6 +28,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.support.AbstractBeanDefinition;
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
@@ -129,6 +130,11 @@
 
         builder.setInitMethodName("initialize");
         builder.setDestroyMethodName("destroy");
+        
+        // We use a prototype scope because it eliminates the overhead during context closure,
+        // which is a problem when there are thousands of singletons. This means the destroy()
+        // method above will NOT be called for any bean parsed by this class.
+        builder.setScope(BeanDefinition.SCOPE_PROTOTYPE);
 
         super.doParse(element, parserContext, builder);
 



More information about the commits mailing list