如何在java里获取hibernate连接池最大连接数和当前连接数

2025-03-04 19:17:44
推荐回答(3个)
回答1:

1、获取当前连接数:(DataSource)ctx.lookup("java:comp/env/j***");返回的值类型是BasicDataSource,BasicDataSource类中的getNumActive()方法可以得到当前正在使用的连接数。所以可以(BasicDataSource)ctx.lookup("java:comp/env/j***"),然后得到正在使用的连接数。
2、tomcat目录lib下,有一个包tomcat-dbcp.jar,BasicDataSource这个类就在这个包中BasicDataSource有两个,引入如下正确的
import org.apache.tomcat.dbcp.dbcp.BasicDataSource;
3、context.xml的配置:

4、获取hibernate连接池最大连接数XML配置

org.hibernate.connection.C3P0ConnectionProvider
1
50
1800
100
100
2
4、注:****请换成自己的配置

回答2:

通过调试可以发现,(DataSource)ctx.lookup("java:comp/env/j***");返回的值类型是BasicDataSource,BasicDataSource类中的getNumActive()方法可以得到当前正在使用的连接数。

所以可以(BasicDataSource)ctx.lookup("java:comp/env/j***"),然后得到正在使用的连接数。

tomcat目录lib下,有一个包tomcat-dbcp.jar,BasicDataSource这个类就在这个包中

BasicDataSource有两个,引入如下正确的
import org.apache.tomcat.dbcp.dbcp.BasicDataSource; //正确
import org.apache.commons.dbcp.BasicDataSource; //错误

回答3:

这个实在配置文件中设置的