我使用的weblogic服务器
在java中查看数据库连接池的大小,已连接数,未连接数等,有什么方法
(1)第一种怎么查看
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup(JNDIName);
ds没有对应的方法
(2)第二种怎么查看
Context initCtx = new InitialContext();
BasicDataSource bds = (BasicDataSource)initCtx.lookup("java:comp/env/jdbc/afunms");
initCtx.close();
bds.getConnection();
System.out.println("当前连接数=" + bds.getNumActive());
报错java.lang.ClassCastException: weblogic.jdbc.common.internal.RmiDataSource
明白了,你那个是rmiDatasoruce,是被rmi给代理过的,所以不存在这个class
你别心急,你看玩玩jconsole,看看有没有你说的connection链接数
你先用jconsole链接上去看看
有没有mbean在里面,如果有mbean的话,一切都很简单
[code="java"]
Context initCtx = new InitialContext();
RmiDataSource bds = (RmiDataSource)initCtx.lookup("java:comp/env/jdbc/afunms");
initCtx.close();
bds.getConnection();
System.out.println("当前连接数=" + bds.getNumActive());
[/code]
jsonsole的话,你可以google
然后链接到weblogic,就可以看mbean
链接上去就能看到
此外
你的jar里肯定有weblogic.jdbc.common.internal.RmiDataSource
你在eclipse里面用ctrl + shift + T 来寻找一下RmiDataSource
[quote]RmiDataSource类是哪个jar包中的啊?找不到怎么使用啊[/quote]
weblogic.jdbc.common.internal.RmiDataSource
weblogic的包,在weblogic中找找。
我觉得langshao说的思路不错
jconsole在你的%JAVA_HOME%/bin目录下
你双击点开,就能用了
用法很简单,再框框里面找java程度就好了
mbean这个东西,你得学习jmx,看看[url=http://download.oracle.com/javase/tutorial/jmx/index.html]jmx toturial[/url]就能知道怎么使用。
我想说的是,如果希望快速解决问题的话,还是cast to RmiDataSource这个类比较实用
提高的话,可以弄mbean
你的IDE是不是eclipse??
[quote]我用的MyEclipse8.5,但是我怎么也找不到RmiDataSource在哪里 [/quote]
它当然没有,这是weblogic的,在weblogic容器的lib中找得到。