You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2017/10/06 10:18:33 UTC

svn commit: r1811317 - in /tomcat/trunk/java/org/apache: catalina/tribes/io/ReplicationStream.java catalina/util/CustomObjectInputStream.java naming/factory/DataSourceLinkFactory.java

Author: markt
Date: Fri Oct  6 10:18:33 2017
New Revision: 1811317

URL: http://svn.apache.org/viewvc?rev=1811317&view=rev
Log:
Tackle some of the Proxy related Java 9 deprecation warnings

Modified:
    tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java
    tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java
    tomcat/trunk/java/org/apache/naming/factory/DataSourceLinkFactory.java

Modified: tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java?rev=1811317&r1=1811316&r2=1811317&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/io/ReplicationStream.java Fri Oct  6 10:18:33 2017
@@ -132,8 +132,11 @@ public final class ReplicationStream ext
             classObjs[i] = cl;
         }
         try {
-            return Proxy.getProxyClass(hasNonPublicInterface ? nonPublicLoader
+
+            @SuppressWarnings("deprecation")
+            Class<?> proxyClass = Proxy.getProxyClass(hasNonPublicInterface ? nonPublicLoader
                     : latestLoader, classObjs);
+            return proxyClass;
         } catch (IllegalArgumentException e) {
             throw new ClassNotFoundException(null, e);
         }

Modified: tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java?rev=1811317&r1=1811316&r2=1811317&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java (original)
+++ tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java Fri Oct  6 10:18:33 2017
@@ -185,7 +185,9 @@ public final class CustomObjectInputStre
         }
 
         try {
-            return Proxy.getProxyClass(classLoader, cinterfaces);
+            @SuppressWarnings("deprecation")
+            Class<?> proxyClass = Proxy.getProxyClass(classLoader, cinterfaces);
+            return proxyClass;
         } catch (IllegalArgumentException e) {
             throw new ClassNotFoundException(null, e);
         }

Modified: tomcat/trunk/java/org/apache/naming/factory/DataSourceLinkFactory.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/factory/DataSourceLinkFactory.java?rev=1811317&r1=1811316&r2=1811317&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/factory/DataSourceLinkFactory.java (original)
+++ tomcat/trunk/java/org/apache/naming/factory/DataSourceLinkFactory.java Fri Oct  6 10:18:33 2017
@@ -18,7 +18,6 @@
 
 package org.apache.naming.factory;
 
-import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -70,10 +69,10 @@ public class DataSourceLinkFactory exten
 
     protected Object wrapDataSource(Object datasource, String username, String password) throws NamingException {
         try {
-            Class<?> proxyClass = Proxy.getProxyClass(datasource.getClass().getClassLoader(), datasource.getClass().getInterfaces());
-            Constructor<?> proxyConstructor = proxyClass.getConstructor(new Class[] { InvocationHandler.class });
-            DataSourceHandler handler = new DataSourceHandler((DataSource)datasource, username, password);
-            return proxyConstructor.newInstance(handler);
+            DataSourceHandler handler =
+                    new DataSourceHandler((DataSource)datasource, username, password);
+            return Proxy.newProxyInstance(datasource.getClass().getClassLoader(),
+                    datasource.getClass().getInterfaces(), handler);
         }catch (Exception x) {
             if (x instanceof InvocationTargetException) {
                 Throwable cause = x.getCause();



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org