[jboss-cvs] JBossAS SVN: r103936 - projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/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 13 16:47:06 EDT 2010


Author: mmoyses
Date: 2010-04-13 16:47:06 -0400 (Tue, 13 Apr 2010)
New Revision: 103936

Modified:
   projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java
Log:
JBPAPP-4086: backporting SECURITY-493

Modified: projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java
===================================================================
--- projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java	2010-04-13 20:44:15 UTC (rev 103935)
+++ projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/authorization/modules/AbstractAuthorizationModule.java	2010-04-13 20:47:06 UTC (rev 103936)
@@ -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