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());
+        }
+    }
 }