如何解决使用DriverManager类设置jdbc拦截器
我正在使用DriverManager.getConnection(url,prop)
来建立连接。我正在尝试使用类似下面的属性注入jdbc拦截器,但是它不起作用。
Properties prop = new Properties();
...
prop.setProperty("jdbcInterceptors","com.amazonaws.xray.sql.mysql.TracingInterceptor;");
但是,当我们尝试通过数据源进行操作时,它正在起作用。
import org.apache.tomcat.jdbc.pool.DataSource;
DataSource source = new DataSource();
source.setUrl("url");
source.setUsername("user");
source.setPassword("password");
source.setDriverClassName("com.mysql.jdbc.Driver");
source.setJdbcInterceptors("com.amazonaws.xray.sql.mysql.TracingInterceptor;");
不确定DriverManager
属性有什么问题。
解决方法
这些拦截器是Tomcat org.apache.tomcat.jdbc.pool.DataSourceProxy
及其子类org.apache.tomcat.jdbc.pool.DataSource
的功能。这不是JDBC本身的功能,也不是您正在使用的JDBC驱动程序的功能,因此访问它的唯一方法是通过Tomcat数据源。
简而言之,它不适用于DriverManager
,因为DriverManager
中不存在此功能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。