This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch tomee-8.x
in repository https://gitbox.apache.org/repos/asf/tomee.git

commit 8e003c380c31999eead946850782296a60309dc3
Author: Richard Zowalla <[email protected]>
AuthorDate: Thu Jul 14 09:44:27 2022 +0200

    TOMEE-3878 - Backports TOMEE-3877 to TomEE 8.x (JDK 17 compat)
---
 .../openejb/util/proxy/LocalBeanProxyFactory.java   | 21 ++-------------------
 1 file changed, 2 insertions(+), 19 deletions(-)

diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java
index 5f464653ba..80f91ac4e5 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java
@@ -825,28 +825,11 @@ public class LocalBeanProxyFactory implements Opcodes {
             if (unsafeDefineClass != null) {
                 return (Class<?>) unsafeDefineClass.invoke(unsafe, proxyName, 
proxyBytes, 0, proxyBytes.length, loader, clsToProxy.getProtectionDomain());
             } else {
-                return (Class) 
getClassLoaderDefineClassMethod(loader).invoke(loader, proxyName, proxyBytes, 
0, proxyBytes.length, clsToProxy.getProtectionDomain());
+                return ClassDefiner.defineClass(loader, proxyName, proxyBytes, 
clsToProxy, clsToProxy.getProtectionDomain());
+                //return (Class) 
getClassLoaderDefineClassMethod(loader).invoke(loader, proxyName, proxyBytes, 
0, proxyBytes.length, clsToProxy.getProtectionDomain());
             }
         }
 
-        private static Method getClassLoaderDefineClassMethod(ClassLoader 
classLoader) {
-            Class<?> clazz = classLoader.getClass();
-            Method defineClassMethod = null;
-            do {
-                try {
-                    defineClassMethod = clazz.getDeclaredMethod("defineClass", 
String.class, byte[].class, int.class, int.class, ProtectionDomain.class);
-                } catch (NoSuchMethodException e) {
-                    // do nothing, we need to search the superclass
-                }
-                clazz = clazz.getSuperclass();
-            } while (defineClassMethod == null && clazz != Object.class);
-
-            if (defineClassMethod != null && 
!defineClassMethod.isAccessible()) {
-                defineClassMethod.setAccessible(true);
-            }
-            return defineClassMethod;
-        }
-
     }
 
     @Target(ElementType.TYPE)

Reply via email to