This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push: new 71d1c46 Silence these warnings 71d1c46 is described below commit 71d1c466089d7a740180bc0fec4bfa8796694075 Author: Mark Thomas <ma...@apache.org> AuthorDate: Tue Jul 27 21:14:11 2021 +0100 Silence these warnings A code review suggests that the use of the deprecated Proxy.getPorxyClass() method within jdbc-pool is safe. --- .../src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java | 7 +++++++ .../jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java | 7 +++++++ .../jdbc/pool/interceptor/StatementDecoratorInterceptor.java | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java index 37fb7a3..7e0232d 100644 --- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java +++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java @@ -361,6 +361,13 @@ public class ConnectionPool { * @return constructor used to instantiate the wrapper object * @throws NoSuchMethodException Failed to get a constructor */ + /* + * Neither the class nor the constructor are exposed outside of jdbc-pool. + * Given the comments in the jdbc-pool code regarding caching for + * performance, continue to use Proxy.getProxyClass(). This will need to be + * revisited if that method is marked for removal. + */ + @SuppressWarnings("deprecation") public Constructor<?> getProxyConstructor(boolean xa) throws NoSuchMethodException { //cache the constructor if (proxyClassConstructor == null ) { diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java index 521886e..b0820e6 100644 --- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java +++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java @@ -91,6 +91,13 @@ public abstract class AbstractCreateStatementInterceptor extends JdbcIntercepto * @return - returns a constructor used to create new instances * @throws NoSuchMethodException Constructor not found */ + /* + * Neither the class nor the constructor are exposed outside of jdbc-pool. + * Given the comments in the jdbc-pool code regarding caching for + * performance, continue to use Proxy.getProxyClass(). This will need to be + * revisited if that method is marked for removal. + */ + @SuppressWarnings("deprecation") protected Constructor<?> getConstructor(int idx, Class<?> clazz) throws NoSuchMethodException { if (constructors[idx] == null) { Class<?> proxyClass = Proxy.getProxyClass(AbstractCreateStatementInterceptor.class.getClassLoader(), diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java index f3d2a30..20d7002 100644 --- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java +++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java @@ -54,6 +54,13 @@ public class StatementDecoratorInterceptor extends AbstractCreateStatementInterc // nothing to do } + /* + * Neither the class nor the constructor are exposed outside of jdbc-pool. + * Given the comments in the jdbc-pool code regarding caching for + * performance, continue to use Proxy.getProxyClass(). This will need to be + * revisited if that method is marked for removal. + */ + @SuppressWarnings("deprecation") protected Constructor<?> getResultSetConstructor() throws NoSuchMethodException { if (resultSetConstructor == null) { Class<?> proxyClass = Proxy.getProxyClass(StatementDecoratorInterceptor.class.getClassLoader(), --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org