[jboss-cvs] JBossAS SVN: r111938 - in trunk: tomcat/src/main/java/org/jboss/web/tomcat/service/deployers and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Aug 5 10:32:42 EDT 2011
Author: alesj
Date: 2011-08-05 10:32:41 -0400 (Fri, 05 Aug 2011)
New Revision: 111938
Modified:
trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
Log:
[JBAS-8836]; do unbind on security manager.
Modified: trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java 2011-08-04 22:05:01 UTC (rev 111937)
+++ trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java 2011-08-05 14:32:41 UTC (rev 111938)
@@ -28,7 +28,6 @@
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
-
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.naming.Context;
@@ -839,6 +838,16 @@
Util.bind(javaCompCtx, "env/security/security-domain", new LinkRef(securityDomain));
Util.bind(javaCompCtx, "env/security/subject", new LinkRef(securityDomain + "/subject"));
}
+
+ protected void unlinkSecurityDomain(String securityDomain, Context javaCompCtx) throws NamingException
+ {
+ log.debug("UnLinking security/securityMgr from JNDI ");
+ Util.unbind(javaCompCtx, "env/security/securityMgr");
+ Util.unbind(javaCompCtx, "env/security/realmMapping");
+ Util.unbind(javaCompCtx, "env/security/authorizationMgr");
+ Util.unbind(javaCompCtx, "env/security/security-domain");
+ Util.unbind(javaCompCtx, "env/security/subject");
+ }
/**
* A utility method that searches the given loader for the resources:
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2011-08-04 22:05:01 UTC (rev 111937)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2011-08-05 14:32:41 UTC (rev 111938)
@@ -33,10 +33,10 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.naming.Context;
+import javax.naming.NamingException;
import org.apache.catalina.Container;
import org.apache.catalina.Engine;
@@ -380,10 +380,9 @@
public void lifecycleEvent(LifecycleEvent event)
{
-
- if (event.getType().equals(StandardContext.AFTER_START_EVENT))
+ String eventType = event.getType();
+ if (eventType.equals(StandardContext.AFTER_START_EVENT))
{
-
// make the context class loader known to the JBossWebMetaData, ws4ee needs it
// to instanciate service endpoint pojos that live in this webapp
metaData.setContextLoader(webLoader.getClassLoader());
@@ -453,8 +452,31 @@
injectionContainer.processMetadata();
}
}
+ else if(eventType.equals(StandardContext.BEFORE_STOP_EVENT))
+ {
+ unbindSecurityDomainJndiBindings(webApp);
+ }
}
+ protected void unbindSecurityDomainJndiBindings(WebApplication webApplication)
+ {
+ Thread currentThread = Thread.currentThread();
+ ClassLoader currentLoader = currentThread.getContextClassLoader();
+ try
+ {
+ currentThread.setContextClassLoader(webApplication.getMetaData().getENCLoader());
+ final Context envCtx = component.getContext();
+ unlinkSecurityDomain(webApplication.getMetaData().getSecurityDomain(), envCtx);
+ }
+ catch (final NamingException e)
+ {
+ log.error(e.getMessage(), e);
+ }
+ finally
+ {
+ currentThread.setContextClassLoader(currentLoader);
+ }
+ }
}
public Loader getWebLoader(DeploymentUnit unit, JBossWebMetaData metaData, ClassLoader loader, URL rl, TomcatInjectionContainer injectionContainer) throws MalformedURLException
@@ -524,7 +546,6 @@
}
}
performUndeployInternal(warInfo, hostName, warUrl);
-
}
protected void performUndeployInternal(WebApplication warInfo, String hostName, String warUrlStr) throws Exception
@@ -746,4 +767,4 @@
{
this.componentInformer = componentInformer;
}
-}
\ No newline at end of file
+}
More information about the jboss-cvs-commits
mailing list