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 2018/10/13 12:05:38 UTC
tomee git commit: TOMEE-2258 ensure tomee parent classloader is the
correct one and not system loader (default tomcat behavior)
Repository: tomee
Updated Branches:
refs/heads/master d1c78d231 -> ded08b8b6
TOMEE-2258 ensure tomee parent classloader is the correct one and not system loader (default tomcat behavior)
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/ded08b8b
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/ded08b8b
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/ded08b8b
Branch: refs/heads/master
Commit: ded08b8b6cfbb8689edd16125e7034e6e687bbef
Parents: d1c78d2
Author: Romain Manni-Bucau <rm...@gmail.com>
Authored: Sat Oct 13 14:05:08 2018 +0200
Committer: Romain Manni-Bucau <rm...@gmail.com>
Committed: Sat Oct 13 14:05:08 2018 +0200
----------------------------------------------------------------------
.../apache/openejb/assembler/classic/Assembler.java | 13 +------------
.../org/apache/tomee/catalina/TomcatWebAppBuilder.java | 5 +++++
2 files changed, 6 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/ded08b8b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
----------------------------------------------------------------------
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 5e6bbfe..72659d9 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
@@ -388,18 +388,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
loader.loadClass("org.apache.bval.cdi.BValExtension$AnnotatedTypeFilter"))
.invoke(null, filter);
} catch (final Throwable th) {
- // Quick hack to fix TOMEE-2258. Needs to be addressed properly. Fallback to TCCL.
- try {
- final ClassLoader loader = Thread.currentThread().getContextClassLoader();
- final Object filter = loader.loadClass("org.apache.openejb.bval.BValCdiFilter").newInstance();
- loader.loadClass("org.apache.bval.cdi.BValExtension")
- .getMethod(
- "setAnnotatedTypeFilter",
- loader.loadClass("org.apache.bval.cdi.BValExtension$AnnotatedTypeFilter"))
- .invoke(null, filter);
- } catch (Throwable e) {
- // ignore, bval not compatible or not present
- }
+ logger.warning("Can't setup BVal filtering, this can impact negatively performances: " + th.getMessage());
}
}
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/ded08b8b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
----------------------------------------------------------------------
diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
index 123c8ea..4e296c3 100644
--- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
+++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
@@ -285,6 +285,7 @@ public class TomcatWebAppBuilder implements WebAppBuilder, ContextListener, Pare
//Getting host config listeners
hosts = new Hosts();
SystemInstance.get().setComponent(Hosts.class, hosts);
+ final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
for (final Service service : standardServer.findServices()) {
if (service.getContainer() instanceof Engine) {
final Engine engine = service.getContainer();
@@ -298,6 +299,10 @@ public class TomcatWebAppBuilder implements WebAppBuilder, ContextListener, Pare
}
parentClassLoader = engine.getParentClassLoader();
+ if (parentClassLoader == ClassLoader.getSystemClassLoader() && parentClassLoader != tccl) {
+ parentClassLoader = tccl;
+ engine.setParentClassLoader(tccl);
+ } // else assume tomcat was setup to force a classloader and then respect it
manageCluster(engine.getCluster());
hosts.setDefault(engine.getDefaultHost());