[jboss-cvs] JBossAS SVN: r107742 - 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
Mon Aug 23 16:03:56 EDT 2010
Author: wolfc
Date: 2010-08-23 16:03:55 -0400 (Mon, 23 Aug 2010)
New Revision: 107742
Modified:
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
Log:
JBAS-7862: fix injection container
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2010-08-23 19:35:37 UTC (rev 107741)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2010-08-23 20:03:55 UTC (rev 107742)
@@ -69,6 +69,7 @@
import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.ejb3.vfs.spi.VirtualFile;
import org.jboss.ejb3.vfs.impl.vfs3.VirtualFileWrapper;
+import org.jboss.reloaded.naming.spi.JavaEEComponent;
import org.jboss.web.WebApplication;
import org.jboss.web.tomcat.service.injection.TomcatInjectionUtils;
import org.jboss.web.tomcat.service.injection.WebEJBHandler;
@@ -142,6 +143,8 @@
private static final Properties restrictedListeners = new Properties();
private static final Properties restrictedServlets = new Properties();
private List<Injector> defaultInjectors;
+ // the naming component counter-part
+ private JavaEEComponent component;
static
@@ -198,10 +201,12 @@
}
public TomcatInjectionContainer(WebApplication appInfo, DeploymentUnit unit, org.apache.catalina.Context catalinaContext,
- PersistenceUnitDependencyResolver resolver, Set<String> dynamicClassLoaders)
+ PersistenceUnitDependencyResolver resolver, Set<String> dynamicClassLoaders, JavaEEComponent component)
{
super(new SimpleJavaEEModule(appInfo.getName()));
+ assert component != null : "component is null";
+
this.unit = unit;
this.appInfo = appInfo;
this.catalinaContext = catalinaContext;
@@ -213,6 +218,7 @@
this.webDD = unit.getAttachment(JBossWebMetaData.class);
assert this.webDD != null : "webDD is null (no JBossWebMetaData attachment in VFSDeploymentUnit)";
+ this.component = component;
}
public void setDefaultInjectors(List<Injector> injectors)
@@ -644,23 +650,7 @@
public Context getEnc()
{
- ClassLoader old = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(getClassloader());
- try
- {
- return (Context)new InitialContext().lookup("java:comp");
- }
- catch (NamingException e)
- {
- throw new RuntimeException(e);
- }
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(old);
- }
+ return component.getContext();
}
public boolean hasJNDIBinding(String jndiName)
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 2010-08-23 19:35:37 UTC (rev 107741)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-08-23 20:03:55 UTC (rev 107742)
@@ -90,6 +90,8 @@
private JavaEEComponentInformer componentInformer;
+ private JavaEEComponent component;
+
public ORB getORB()
{
return orb;
@@ -187,9 +189,11 @@
}
}
+ this.component = createJavaEEComponent();
+
TomcatInjectionContainer injectionContainer =
new TomcatInjectionContainer(webApp, depUnit, context,
- getPersistenceUnitDependencyResolver(), config.getDynamicClassloaders());
+ getPersistenceUnitDependencyResolver(), config.getDynamicClassloaders(), component);
if (kernel != null)
{
@@ -291,7 +295,6 @@
JBossContextConfig.metaDataLocal.set(metaData);
JBossContextConfig.deployerConfig.set(config);
JBossContextConfig.tldMetaDataMapLocal.set(tldMetaDataMap);
- JavaEEComponent component = createJavaEEComponent();
NamingListener.idLocal.set(component);
JBossContextConfig.kernelLocal.set(kernel);
@@ -402,8 +405,7 @@
// TODO: The enc should be an input?
currentThread.setContextClassLoader(webLoader.getClassLoader());
metaData.setENCLoader(webLoader.getClassLoader());
- InitialContext iniCtx = new InitialContext();
- Context envCtx = (Context)iniCtx.lookup("java:comp");
+ Context envCtx = component.getContext();
// Add ORB/UserTransaction
ORB orb = null;
try
@@ -689,10 +691,6 @@
// TODO: weirdness, if I make this package private I get IllegalAccessError
public String getJavaEEModuleName()
{
- // TODO: must come in via MC injection
-// NamingJavaEEComponentInformer componentInformer = new NamingJavaEEComponentInformer();
-// componentInformer.setJavaEEModuleIdentifier(new SimpleJavaEEModuleIdentifier());
-// final JavaEEComponentInformer componentInformer = (JavaEEComponentInformer) kernel.getController().getContextByClass(JavaEEComponentInformer.class).getTarget();
assert componentInformer != null : "componentInformer is null";
// assert ControllerState.INSTALLED
More information about the jboss-cvs-commits
mailing list