[jboss-cvs] JBossAS SVN: r103942 - projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Apr 13 17:05:43 EDT 2010
Author: mmoyses
Date: 2010-04-13 17:05:43 -0400 (Tue, 13 Apr 2010)
New Revision: 103942
Modified:
projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit/JBossAuditManager.java
Log:
JBPAPP-4086: backporting SECURITY-499
Modified: projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit/JBossAuditManager.java
===================================================================
--- projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit/JBossAuditManager.java 2010-04-13 20:58:59 UTC (rev 103941)
+++ projects/security/security-jboss-sx/branches/2.0.4.SP3_JBPAPP-4086/jbosssx/src/main/java/org/jboss/security/plugins/audit/JBossAuditManager.java 2010-04-13 21:05:43 UTC (rev 103942)
@@ -9,6 +9,8 @@
import java.security.PrivilegedActionException;
import java.util.Arrays;
import java.util.List;
+import java.util.Map;
+import java.util.WeakHashMap;
import java.util.concurrent.ConcurrentHashMap;
import org.jboss.logging.Logger;
@@ -20,7 +22,7 @@
import org.jboss.security.audit.providers.LogAuditProvider;
import org.jboss.security.config.ApplicationPolicy;
import org.jboss.security.config.AuditInfo;
-import org.jboss.security.config.SecurityConfiguration;
+import org.jboss.security.config.SecurityConfiguration;
/**
* Manages a set of AuditContext
@@ -36,6 +38,8 @@
private static AuditContext defaultContext = null;
+ private static Map<String, Class<?> > clazzMap = new WeakHashMap<String, Class<?>>();
+
static
{
defaultContext = new JBossAuditContext("Default_Context");
@@ -68,7 +72,14 @@
String pname = ape.getName();
try
{
- ac.addProvider((AuditProvider) SecurityActions.loadClass(pname).newInstance());
+ Class<?> clazz = clazzMap.get(pname);
+ if( clazz == null )
+ {
+ clazz = SecurityActions.loadClass(pname);
+ clazzMap.put(pname, clazz);
+ }
+
+ ac.addProvider((AuditProvider) clazz.newInstance());
}
catch (Exception e)
{
More information about the jboss-cvs-commits
mailing list