You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ra...@apache.org on 2018/10/12 21:36:43 UTC
[5/5] tomee git commit: TomEE-2258 - Dirty hack to fix classloading
issue with tomee-embedded. Needs to be addressed properly.
TomEE-2258 - Dirty hack to fix classloading issue with tomee-embedded. Needs to be addressed properly.
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/f521b016
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/f521b016
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/f521b016
Branch: refs/heads/master
Commit: f521b01675ec352e5c562ace76382693ebbfb55b
Parents: 92bf629
Author: Roberto Cortez <ra...@yahoo.com>
Authored: Fri Oct 12 20:13:24 2018 +0100
Committer: Roberto Cortez <ra...@yahoo.com>
Committed: Fri Oct 12 20:13:24 2018 +0100
----------------------------------------------------------------------
.../apache/openejb/assembler/classic/Assembler.java | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/f521b016/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 fb561c9..a0fad43 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
@@ -218,6 +218,7 @@ import java.lang.instrument.Instrumentation;
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.lang.reflect.Type;
@@ -383,7 +384,18 @@ 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) {
- // ignore, bval not compatible or not present
+ // 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
+ }
}
}
}