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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org