论坛首页 Java企业应用论坛

Jwebap项目(四)——性能监控工具Jwebap: 0.5.8版本发布

浏览 49218 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-03-04  
leadyu 写道
如果是远程数据源,你就不能配数据库驱动作为driver-class参数值。

这个文档里有说明的呀,你可以配置应用中获取连接的类作为这个参数值,比如我们的项目配置:com.telecom.dao.ConnectionManager


项目内通过com.telecom.dao.ConnectionManager.getConnection()从jndi获取连接。


没有这种类啊,getconnection()这个方法如果不是很老的程序或自己封装的东西,已经很不常见了,spring都是用datasource啊,直接配datasource或者其子类没什么反应啊,
0 请登录后投票
   发表时间:2008-03-04  
我的意思说,可以配置类似的类,jwebap会对你配置的类中所有返回connection的方法进行监控。

所以,你可以尝试,配置spring的datasource

同时要保证用的是jwebap_0.5.8_all_3.zip,才能对父类进行注入
0 请登录后投票
   发表时间:2008-03-04  
spring的datasource实现都是建议用在测试环境下的,而且spring拿到的都是容器的javax.sql.DataSource的实现,比如我在tomcat下拿到的就是org.apache.dbcp.BasicDataSource,在was下可能就是was的datasource的实现,有没有在这种环境下成功的例子,我觉得我的环境应该是比较很典型的情况.
0 请登录后投票
   发表时间:2008-03-04  
我出这个问题
Caused by: java.lang.ClassCastException: org.jwebap.plugin.jdbc.TraceDetectConnection cannot be cast to oracle.jdbc.driver.OracleConnection
at oracle.jdbc.driver.OracleDriver.connect_$proxy(OracleDriver.java:345)
... 54 more
0 请登录后投票
   发表时间:2008-03-04  
heaven 写道
spring的datasource实现都是建议用在测试环境下的,而且spring拿到的都是容器的javax.sql.DataSource的实现,比如我在tomcat下拿到的就是org.apache.dbcp.BasicDataSource,在was下可能就是was的datasource的实现,有没有在这种环境下成功的例子,我觉得我的环境应该是比较很典型的情况.


你这样说,我有点明白了,不管你用什么datasource实现,容器总是把datasource发布在命名服务里面的吧。

你的应用里面总有代码封装了,从jndi取datasource的代码,最终返回connection的类。
0 请登录后投票
   发表时间:2008-03-04  
zbird 写道
我出这个问题
Caused by: java.lang.ClassCastException: org.jwebap.plugin.jdbc.TraceDetectConnection cannot be cast to oracle.jdbc.driver.OracleConnection
at oracle.jdbc.driver.OracleDriver.connect_$proxy(OracleDriver.java:345)
... 54 more


这个问题,我会尽快检查,可能是由于oracle驱动,内部有私有方法也返回Connection,而connect()方法内部去cast这个Connection(已经被jwebap代理过了),所以cast失败。
0 请登录后投票
   发表时间:2008-03-04  
leadyu 写道
heaven 写道
spring的datasource实现都是建议用在测试环境下的,而且spring拿到的都是容器的javax.sql.DataSource的实现,比如我在tomcat下拿到的就是org.apache.dbcp.BasicDataSource,在was下可能就是was的datasource的实现,有没有在这种环境下成功的例子,我觉得我的环境应该是比较很典型的情况.


你这样说,我有点明白了,不管你用什么datasource实现,容器总是把datasource发布在命名服务里面的吧。

你的应用里面总有代码封装了,从jndi取datasource的代码,最终返回connection的类。


我的应用里真的没有,相信很多人也没有,所有的数据库操作都是回调实现的,不直接拿连接,spring应该也是用javax.sql.DataSource#getConnection(),对了Spring是有一个封装,印象里是DataSourceUtils.getConnection(javax.sql.DataSource datasource),和你说的应该也不太一致吧?
0 请登录后投票
   发表时间:2008-03-04  
leadyu 写道
zbird 写道
我出这个问题
Caused by: java.lang.ClassCastException: org.jwebap.plugin.jdbc.TraceDetectConnection cannot be cast to oracle.jdbc.driver.OracleConnection
at oracle.jdbc.driver.OracleDriver.connect_$proxy(OracleDriver.java:345)
... 54 more


这个问题,我会尽快检查,可能是由于oracle驱动,内部有私有方法也返回Connection,而connect()方法内部去cast这个Connection(已经被jwebap代理过了),所以cast失败。


我刚才看了oracle驱动的源码,确实如我猜测的那样,这个bug,我明天发布jwebap_0.5.8_all_4.zip,请关注。
0 请登录后投票
   发表时间:2008-03-04  

我配置只监听方法和http的:

生成字节码错误:null

java.lang.ClassNotFoundException: byte
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.jwebap.bytecode.asm.MethodUtil.getClass(MethodUtil.java:62)
at org.jwebap.bytecode.asm.MethodUtil.parseTypeToClass(MethodUtil.java:34)
at org.jwebap.bytecode.asm.MethodUtil.findMethod(MethodUtil.java:18)

0 请登录后投票
   发表时间:2008-03-04  
jwebap发布0.5.8的第4次修正版本——jwebap_0.5.8_all_4.zip,解决了jdbc监控,解决对驱动私有方法的错误处理bug。

请关注。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics