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

mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
     new 7ecce49  Fix Java 9+ (JPMS) deprecation
7ecce49 is described below

commit 7ecce498fabca32e2425ede298d792aeb6d46d8c
Author: Martin Tzvetanov Grigorov <mgrigo...@apache.org>
AuthorDate: Fri Jun 14 00:34:32 2019 +0300

    Fix Java 9+ (JPMS) deprecation
    
    Create a temporary proxy instance and return its class
---
 .../main/java/org/apache/wicket/serialize/java/JavaSerializer.java | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/wicket-core/src/main/java/org/apache/wicket/serialize/java/JavaSerializer.java
 
b/wicket-core/src/main/java/org/apache/wicket/serialize/java/JavaSerializer.java
index 0767f1c..7f8dbce 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/serialize/java/JavaSerializer.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/serialize/java/JavaSerializer.java
@@ -25,6 +25,7 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.ObjectStreamClass;
 import java.io.OutputStream;
+import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
@@ -308,8 +309,10 @@ public class JavaSerializer implements ISerializer
                                }
                                try
                                {
-                                       return Proxy.getProxyClass(
-                                               hasNonPublicInterface ? 
nonPublicLoader : latestLoader, classObjs);
+                                       final InvocationHandler 
invocationHandler = (proxy, method, args) -> null;
+                                       final Object proxyInstance = 
Proxy.newProxyInstance(
+                                                       hasNonPublicInterface ? 
nonPublicLoader : latestLoader, classObjs, invocationHandler);
+                                       return proxyInstance.getClass();
                                }
                                catch (IllegalArgumentException e)
                                {

Reply via email to