[jboss-cvs] Picketbox SVN: r73 - trunk/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Apr 6 12:54:24 EDT 2010
Author: anil.saldhana at jboss.com
Date: 2010-04-06 12:54:23 -0400 (Tue, 06 Apr 2010)
New Revision: 73
Modified:
trunk/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java
Log:
SECURITY-493; cache the loaded class instances
Modified: trunk/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java
===================================================================
--- trunk/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java 2010-04-02 17:50:25 UTC (rev 72)
+++ trunk/security-jboss-sx/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java 2010-04-06 16:54:23 UTC (rev 73)
@@ -59,6 +59,9 @@
/** Map of delegates for the various layers */
protected Map<ResourceType,String> delegateMap = new HashMap<ResourceType,String>();
+ /** A map that is available to reduce the loadClass synchronization */
+ protected static Map<String, Class<?> > clazzMap = new HashMap<String, Class<?> >();
+
/**
* @see AuthorizationModule#authorize(Resource)
*/
@@ -162,7 +165,13 @@
throws Exception
{
ClassLoader tcl = SecurityActions.getContextClassLoader();
- Class<?> clazz = tcl.loadClass(delegateStr);
+ Class<?> clazz = clazzMap.get(delegateStr);
+ if(clazz == null)
+ {
+ clazz = tcl.loadClass(delegateStr);
+ clazzMap.put(delegateStr, clazz);
+ }
+
return (AuthorizationModuleDelegate)clazz.newInstance();
}
More information about the jboss-cvs-commits
mailing list