You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/09/21 00:46:18 UTC
svn commit: r1173413 -
/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java
Author: rmannibucau
Date: Tue Sep 20 22:46:18 2011
New Revision: 1173413
URL: http://svn.apache.org/viewvc?rev=1173413&view=rev
Log:
moving some javaee6 work in tomcat integration from deployWebapp to init method to manage tomcat created standard context - to validate against tcks
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java
Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java?rev=1173413&r1=1173412&r2=1173413&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java Tue Sep 20 22:46:18 2011
@@ -219,17 +219,6 @@ public class TomcatWebAppBuilder impleme
for (WebAppInfo webApp : appInfo.webApps) {
if (getContextInfo(webApp) == null) {
StandardContext standardContext = new StandardContext();
- standardContext.setCrossContext(Boolean.parseBoolean(System.getProperty(OPENEJB_CROSSCONTEXT_PROPERTY, "false")));
- standardContext.setNamingResources(new OpenEJBNamingResource());
-
- String s = File.pathSeparator;
- File contextXmlFile = new File(webApp.path + s + "META-INF" + s + "context.xml");
- if (contextXmlFile.exists()) {
- BackportUtil.getAPI().setConfigFile(standardContext, contextXmlFile);
- standardContext.setOverride(true);
- }
- ContextConfig contextConfig = new OpenEJBContextConfig();
- standardContext.addLifecycleListener(contextConfig);
if (webApp.contextRoot != null && webApp.contextRoot.startsWith("/")) {
standardContext.setPath(webApp.contextRoot);
@@ -240,13 +229,6 @@ public class TomcatWebAppBuilder impleme
standardContext.setParentClassLoader(classLoader);
standardContext.setDelegate(true);
- // force manually the namingContextListener to merge jndi in an easier way
- NamingContextListener ncl = new NamingContextListener();
- ncl.setName(standardContext.getName());
- standardContext.setNamingContextListener(ncl);
- standardContext.addLifecycleListener(ncl);
- standardContext.addLifecycleListener(new TomcatJavaJndiBinder());
-
String host = webApp.host;
if (host == null) {
@@ -351,6 +333,32 @@ public class TomcatWebAppBuilder impleme
*/
@Override
public void init(StandardContext standardContext) {
+ standardContext.setCrossContext(Boolean.parseBoolean(System.getProperty(OPENEJB_CROSSCONTEXT_PROPERTY, "false")));
+ standardContext.setNamingResources(new OpenEJBNamingResource());
+
+ if (standardContext.getConfigFile() == null) {
+ String s = File.pathSeparator;
+ File contextXmlFile = new File(standardContext.getDocBase() + s + "META-INF" + s + "context.xml");
+ if (contextXmlFile.exists()) {
+ BackportUtil.getAPI().setConfigFile(standardContext, contextXmlFile);
+ standardContext.setOverride(true);
+ }
+ }
+
+ LifecycleListener[] listeners = standardContext.findLifecycleListeners();
+ for (LifecycleListener l : listeners) {
+ if (l instanceof ContextConfig) {
+ standardContext.removeLifecycleListener(l);
+ }
+ }
+ standardContext.addLifecycleListener(new OpenEJBContextConfig());
+
+ // force manually the namingContextListener to merge jndi in an easier way
+ NamingContextListener ncl = new NamingContextListener();
+ ncl.setName(standardContext.getName());
+ standardContext.setNamingContextListener(ncl);
+ standardContext.addLifecycleListener(ncl);
+ standardContext.addLifecycleListener(new TomcatJavaJndiBinder());
}
/**