[jboss-cvs] JBossAS SVN: r90342 - projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jun 17 12:34:30 EDT 2009
Author: anil.saldhana at jboss.com
Date: 2009-06-17 12:34:30 -0400 (Wed, 17 Jun 2009)
New Revision: 90342
Modified:
projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossPDP.java
Log:
SECURITY-418: JBossPDP evaluate thread safe
Modified: projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossPDP.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossPDP.java 2009-06-17 16:34:07 UTC (rev 90341)
+++ projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossPDP.java 2009-06-17 16:34:30 UTC (rev 90342)
@@ -27,6 +27,8 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
import javax.xml.XMLConstants;
import javax.xml.bind.JAXBContext;
@@ -69,7 +71,8 @@
import org.xml.sax.InputSource;
/**
- * PDP for JBoss XACML
+ * <p>PDP for JBoss XACML</p>
+ * <b>Thread-safe evaluate method</b>
* @author Anil.Saldhana at redhat.com
* @since Jul 6, 2007
* @version $Revision$
@@ -88,6 +91,8 @@
private JBossPolicyFinder policyFinder = new JBossPolicyFinder();
private org.jboss.security.xacml.sunxacml.PDP policyDecisionPoint = null;
+
+ private Lock lock = new ReentrantLock();
/**
* CTR
@@ -236,7 +241,18 @@
{
this.bootstrapPDP();
}
- ResponseCtx resp = policyDecisionPoint.evaluate(req);
+
+ ResponseCtx resp = null;
+
+ lock.lock();
+ try
+ {
+ resp = policyDecisionPoint.evaluate(req);
+ }
+ finally
+ {
+ lock.unlock();
+ }
ResponseContext response = RequestResponseContextFactory.createResponseContext();
response.set(XACMLConstants.RESPONSE_CTX, resp);
More information about the jboss-cvs-commits
mailing list