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 2015/04/15 15:00:14 UTC
tomee git commit: stronger filtering for default resources - only
availabe in webapps for now
Repository: tomee
Updated Branches:
refs/heads/master b14e14900 -> 7b9f898b7
stronger filtering for default resources - only availabe in webapps for now
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/7b9f898b
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/7b9f898b
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/7b9f898b
Branch: refs/heads/master
Commit: 7b9f898b78afb97289f55e9c9d4e67f488ff8c5f
Parents: b14e149
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed Apr 15 15:00:05 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Wed Apr 15 15:00:05 2015 +0200
----------------------------------------------------------------------
.../arquillian/common/TestClassDiscoverer.java | 1 +
.../org/apache/openejb/config/AutoConfig.java | 31 ++++++++------------
.../config/BuiltInEnvironmentEntries.java | 11 +++----
.../openejb/config/MergeWebappJndiContext.java | 6 ++++
4 files changed, 26 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/7b9f898b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java
index f8619aa..12021e1 100644
--- a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java
+++ b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java
@@ -170,6 +170,7 @@ public class TestClassDiscoverer implements AdditionalBeanDiscoverer {
ejbModule.setWebapp(true);
ejbModule.getProperties().put("openejb.ejbmodule.webappId", webModule.getModuleId());
}
+ ejbModule.getProperties().put("openejb.ejbmodule.MergeWebappJndiContext", "true");
module.getEjbModules().add(ejbModule);
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/7b9f898b/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
index dbee1f5..f75d3f6 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
@@ -17,7 +17,6 @@
package org.apache.openejb.config;
-import org.apache.openejb.BeanContext;
import org.apache.openejb.JndiConstants;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.assembler.classic.ContainerInfo;
@@ -65,6 +64,19 @@ import org.apache.openejb.util.SuperProperties;
import org.apache.openejb.util.URISupport;
import org.apache.openejb.util.URLs;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
import javax.annotation.ManagedBean;
import javax.ejb.TimerService;
import javax.enterprise.inject.spi.BeanManager;
@@ -88,19 +100,6 @@ import javax.ws.rs.core.SecurityContext;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Providers;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
import static java.util.Arrays.asList;
@@ -863,10 +862,6 @@ public class AutoConfig implements DynamicDeployer, JndiConstants {
// Resource env reference
for (final JndiReference ref : bean.getResourceEnvRef()) {
- final String name = ref.getName();
- if (name != null && name.startsWith("java:comp/Default") && !BeanContext.Comp.class.getName().equals(bean.getEjbClass())) {
- return; // all default resources will be available thanks to Comp bean, far enough for what it provides!
- }
processResourceEnvRef(ref, ejbDeployment, appResources, ejbModule.getClassLoader());
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/7b9f898b/container/openejb-core/src/main/java/org/apache/openejb/config/BuiltInEnvironmentEntries.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/BuiltInEnvironmentEntries.java b/container/openejb-core/src/main/java/org/apache/openejb/config/BuiltInEnvironmentEntries.java
index ade5a90..af90000 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/BuiltInEnvironmentEntries.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/BuiltInEnvironmentEntries.java
@@ -17,6 +17,7 @@
package org.apache.openejb.config;
+import org.apache.openejb.BeanContext;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.jee.EjbJar;
import org.apache.openejb.jee.EnterpriseBean;
@@ -50,7 +51,7 @@ public class BuiltInEnvironmentEntries implements DynamicDeployer {
continue;
}
- add(consumer, module, appModule);
+ add(consumer, module, appModule, false);
}
for (final WebModule module : appModule.getWebModules()) {
@@ -59,7 +60,7 @@ public class BuiltInEnvironmentEntries implements DynamicDeployer {
continue;
}
- add(consumer, module, appModule);
+ add(consumer, module, appModule, addDefaults);
}
for (final EjbModule module : appModule.getEjbModules()) {
@@ -69,14 +70,14 @@ public class BuiltInEnvironmentEntries implements DynamicDeployer {
}
for (final EnterpriseBean consumer : ejbJar.getEnterpriseBeans()) {
- add(consumer, module, appModule);
+ add(consumer, module, appModule, addDefaults && BeanContext.Comp.class.getName().equals(consumer.getEjbClass()));
}
}
return appModule;
}
- private void add(final JndiConsumer jndi, final DeploymentModule module, final DeploymentModule app) {
+ private void add(final JndiConsumer jndi, final DeploymentModule module, final DeploymentModule app, final boolean defaults) {
// Standard names
add(jndi.getEnvEntryMap(), new EnvEntry().name("java:module/ModuleName").value(module.getModuleId()).type(String.class));
@@ -89,7 +90,7 @@ public class BuiltInEnvironmentEntries implements DynamicDeployer {
add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/TransactionManager").type(TransactionManager.class));
add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/TransactionSynchronizationRegistry").type(TransactionSynchronizationRegistry.class));
- if (addDefaults) {
+ if (defaults) {
add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/DefaultManagedExecutorService").type(ManagedExecutorService.class));
add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/DefaultManagedScheduledExecutorService").type(ManagedScheduledExecutorService.class));
add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/DefaultManagedThreadFactory").type(ManagedThreadFactory.class));
http://git-wip-us.apache.org/repos/asf/tomee/blob/7b9f898b/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java b/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
index 0bbb29d..fced6dc 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
@@ -58,6 +58,12 @@ public class MergeWebappJndiContext implements DynamicDeployer {
for (final EjbModule ejbModule : appModule.getEjbModules()) {
// If they are the same module, they'll have the same finder
if (ejbModule.getFinder() != webModule.getFinder()) {
+ final String forceMerge = ejbModule.getProperties().getProperty("openejb.ejbmodule.MergeWebappJndiContext"); // always true is not null
+ if (forceMerge != null) { // default resource propagation
+ for (final EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) {
+ copy(webModule.getWebApp().getResourceEnvRefMap(), bean.getResourceEnvRefMap());
+ }
+ }
continue;
}