TOMEE-2754 avoid references to TempClassLoader and AnnotationFinder
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
index a6e2bdc..7d61461 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
@@ -70,6 +70,7 @@
import org.apache.openejb.classloader.CompositeClassLoaderConfigurer;
import org.apache.openejb.component.ClassLoaderEnricher;
import org.apache.openejb.config.ConfigurationFactory;
+import org.apache.openejb.config.Module;
import org.apache.openejb.config.NewLoaderLogic;
import org.apache.openejb.config.QuickJarsTxtParser;
import org.apache.openejb.config.TldScanner;
@@ -829,6 +830,13 @@
final AppContext appContext = new AppContext(appInfo.appId, SystemInstance.get(), classLoader, globalJndiContext, appJndiContext, appInfo.standaloneModule);
appContext.getProperties().putAll(appInfo.properties);
+
+ for (final Entry<Object, Object> entry : appContext.getProperties().entrySet()) {
+ if (Module.class.isInstance(entry.getValue())) {
+ appContext.getProperties().remove(entry.getKey());
+ }
+ }
+
appContext.getInjections().addAll(injections);
appContext.getBindings().putAll(globalBindings);
appContext.getBindings().putAll(appBindings);
@@ -1085,7 +1093,7 @@
if(setAppNamingContextReadOnly(allDeployments)) {
logger.info("createApplication.naming", appInfo.path);
}
-
+
return appContext;
} catch (final ValidationException | DeploymentException ve) {
throw ve;
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
index feff954..aed0fda 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
@@ -384,12 +384,7 @@
reference = new LinkRef(jndiName);
} else if (BeanManager.class.equals(type)) {
- reference = new LazyObjectReference<BeanManager>(new Callable<BeanManager>() {
- @Override
- public BeanManager call() throws Exception {
- return new InjectableBeanManager(WebBeansContext.currentInstance().getBeanManagerImpl());
- }
- });
+ reference = new LazyObjectReference<>(new BeanManagerLazyReference());
} else if (UserTransaction.class.equals(type)) {
reference = new IntraVmJndiReference("comp/UserTransaction");
@@ -684,4 +679,11 @@
}
}
}
+
+ public static class BeanManagerLazyReference implements Callable<BeanManager> {
+ @Override
+ public BeanManager call() throws Exception {
+ return new InjectableBeanManager(WebBeansContext.currentInstance().getBeanManagerImpl());
+ }
+ }
}