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 2021/07/27 20:14:29 UTC
[tomcat] branch main updated: Silence these warnings
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org