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 2013/05/13 22:59:08 UTC
svn commit: r1482103 - in
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb:
assembler/classic/ config/
Author: rmannibucau
Date: Mon May 13 20:59:08 2013
New Revision: 1482103
URL: http://svn.apache.org/r1482103
Log:
TOMEE-932 classloader first even for ear lib part - could be reverted soon if doesn't fit well the need/TCKs
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1482103&r1=1482102&r2=1482103&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Mon May 13 20:59:08 2013
@@ -1817,7 +1817,7 @@ public class Assembler extends Assembler
final URL[] filtered = jars.toArray(new URL[jars.size()]);
- if (appInfo.delegateFirst) {
+ if (!appInfo.delegateFirst) {
return ClassLoaderUtil.createClassLoader(appInfo.path, filtered, parent);
}
return ClassLoaderUtil.createClassLoaderFirst(appInfo.path, filtered, parent);
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java?rev=1482103&r1=1482102&r2=1482103&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java Mon May 13 20:59:08 2013
@@ -26,6 +26,7 @@ import org.apache.openejb.util.LogCatego
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.Saxs;
import org.apache.openejb.util.URLs;
+import org.apache.openejb.util.classloader.URLClassLoaderFirst;
import org.apache.xbean.finder.filter.Filter;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -128,7 +129,7 @@ public class DeployTimeEnhancer {
// enhancement
final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- final ClassLoader fakeClassLoader = new URLClassLoader(usedUrls.toArray(new URL[usedUrls.size()]), event.getParentClassLoader());
+ final ClassLoader fakeClassLoader = new URLClassLoaderFirst(usedUrls.toArray(new URL[usedUrls.size()]), event.getParentClassLoader());
Thread.currentThread().setContextClassLoader(fakeClassLoader);
try {
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java?rev=1482103&r1=1482102&r2=1482103&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java Mon May 13 20:59:08 2013
@@ -22,6 +22,7 @@ import org.apache.openejb.jee.jpa.Entity
import org.apache.openejb.jee.jpa.unit.Persistence;
import org.apache.openejb.jee.jpa.unit.PersistenceUnit;
import org.apache.openejb.jee.jpa.unit.TransactionType;
+import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.util.SuperProperties;
import org.apache.xbean.finder.IAnnotationFinder;
@@ -42,6 +43,7 @@ import java.util.TreeSet;
* @version $Rev$ $Date$
*/
public class AppModule implements DeploymentModule {
+ private static final boolean DELEGATE_FIRST_DEFAULT = SystemInstance.get().getOptions().get("openejb.classloader.delegate-first", true);
private final Properties properties = new SuperProperties().caseInsensitive(true);
private final Application application;
@@ -61,7 +63,7 @@ public class AppModule implements Deploy
private final Map<String, Object> altDDs = new HashMap<String, Object>();
private final Set<String> watchedResources = new TreeSet<String>();
private final boolean standaloneModule;
- private boolean delegateFirst = true;
+ private boolean delegateFirst = DELEGATE_FIRST_DEFAULT;
private final Set<String> additionalLibMbeans = new TreeSet<String>();
private final Collection<String> jaxRsProviders = new TreeSet<String>();
private final Map<String, PojoConfiguration> pojoConfigurations = new HashMap<String, PojoConfiguration>();
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=1482103&r1=1482102&r2=1482103&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Mon May 13 20:59:08 2013
@@ -62,6 +62,7 @@ import org.apache.openejb.config.sys.Sec
import org.apache.openejb.config.sys.Service;
import org.apache.openejb.config.sys.ServiceProvider;
import org.apache.openejb.config.sys.TransactionManager;
+import org.apache.openejb.core.ParentClassLoaderFinder;
import org.apache.openejb.jee.Application;
import org.apache.openejb.jee.EjbJar;
import org.apache.openejb.jee.EnterpriseBean;
@@ -87,6 +88,7 @@ import org.apache.openejb.util.Messages;
import org.apache.openejb.util.SuperProperties;
import org.apache.openejb.util.URISupport;
import org.apache.openejb.util.URLs;
+import org.apache.openejb.util.classloader.URLClassLoaderFirst;
import org.apache.openejb.util.proxy.QueryProxy;
import org.apache.xbean.finder.MetaAnnotatedClass;
import org.apache.xbean.finder.ResourceFinder;
@@ -738,7 +740,7 @@ public class ConfigurationFactory implem
for (final String path : paths) {
urls.add(new File(path).toURI().normalize().toURL());
}
- deployments.setClasspath(new URLClassLoader(urls.toArray(new URL[urls.size()])));
+ deployments.setClasspath(new URLClassLoaderFirst(urls.toArray(new URL[urls.size()]), ParentClassLoaderFinder.Helper.get()));
}
}
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1482103&r1=1482102&r2=1482103&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Mon May 13 20:59:08 2013
@@ -220,7 +220,7 @@ public class DeploymentLoader implements
addWebPersistenceDD("persistence-fragment.xml", otherDD, appModule);
addPersistenceUnits(appModule, baseUrl);
appModule.setStandloneWebModule();
- appModule.setDelegateFirst(false);
+ appModule.setDelegateFirst(true); // force it for webapps
return appModule;
}