主要上层需要做sql分段profile,排查sql慢的问题,希望getConnection返回的对象 能够包含 从连接池等待空闲连接的时间和实际创建连接的时间。
原提问者GitHub用户bucketli
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Java中,通过JDBC获取数据库连接时,可以使用java.sql.Connection接口提供的getMetaData()方法来获取连接的元数据信息。其中,元数据信息包括了数据库的相关信息,例如数据库名称、版本、驱动程序名称、URL等。如果使用了Druid连接池,还可以获取连接的监控信息,例如连接的创建时间、活跃时间、持续时间、SQL执行次数等。
问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14
原回答者GitHub用户wenshao
Druid连接池提供了一些方法来获取连接的详细信息,包括从连接池等待空闲连接的时间和实际创建连接的时间。您可以使用以下方法来获取这些信息:
getConnection
方法的getConnectionWaitMillis
方法来获取从连接池等待空闲连接的时间(以毫秒为单位)。例如:Connection connection = dataSource.getConnection();
long waitTime = connection.unwrap(DruidPooledConnection.class).getConnectionWaitMillis();
getConnectionWaitMillis
方法返回一个long
类型的值,表示从连接池获取连接之前等待的时间。
getConnection
方法的getConnectTimeMillis
方法来获取连接的实际创建时间(以毫秒为单位)。例如:Connection connection = dataSource.getConnection();
long createTime = connection.unwrap(DruidPooledConnection.class).getConnectTimeMillis();
getConnectTimeMillis
方法返回一个long
类型的值,表示连接的实际创建时间。