- 浏览: 52331 次
- 性别:
- 来自: 广州,福州
文章分类
最新评论
-
dongsonger:
www.sourceforge.net/projects/jw ...
Jwebap(七)——插件:0.6.0版本发布 -
xhui_init:
我部署 后访问总是报Common Template引擎加载失败 ...
Jwebap项目(五)——Jwebap: 0.5.9版本发布 -
ch2004:
<div class="quote_title ...
Jwebap(七)——插件:0.6.0版本发布 -
zm9913:
怎么我要监视的类都提示:注入失败
Jwebap(七)——插件:0.6.0版本发布 -
leadyu:
<div class="quote_title ...
Jwebap(七)——插件:0.6.0版本发布
Jwebap(七)——插件:0.6.0版本发布
下载:www.sourceforge.net/projects/jwebap
jwebap0.6.0发布
引用
jwebap0.6.0版本发布。从0.6版本开始,对jwebap核心进行了大量重构,基本实现了插件化管理,同时提供了Plugin部署和配置界
面,实现jwebap的配置完全界面化,先来看看新的plugin界面:
面,实现jwebap的配置完全界面化,先来看看新的plugin界面:
jwebap-plugin架构
引用
jwebap的plugin管理,目前自己实现,主要涵盖几个方面:
1) plugin采用jar包形式管理,通过标准的plugin定义文件,集成于jwebap
plugin包含多个component,由component构建plugin的实际功能,plugin内部component之间内聚,实际运行时,以component为单位进行管理,plugin更像是一个集成包,这样对于plugin的划分粒度较粗,使用起来更为便利和傻瓜化
2) plugin的component在jwebap启动时加载,对于群集应用,jwebap一个应用一个实例,暂未实现群集轨迹容器。
3) component的类加载考虑到目前plugin并不会太多,暂未实现独立的命名空间和类加载管理
4) plugin扩展,实现了基本的视图扩展,目前还只支持菜单级视图扩展点,jwebap提供了包括bytecode,plugin视图框架,轨迹,轨迹容器等基础构件供plugin使用
5) 对于plugin的部署和参数配置,提供后台界面完成
就这么多了,欢迎各位多提意见,后续plugin这块是一定要加强的,现有的模型如下:
1) plugin采用jar包形式管理,通过标准的plugin定义文件,集成于jwebap
plugin包含多个component,由component构建plugin的实际功能,plugin内部component之间内聚,实际运行时,以component为单位进行管理,plugin更像是一个集成包,这样对于plugin的划分粒度较粗,使用起来更为便利和傻瓜化
2) plugin的component在jwebap启动时加载,对于群集应用,jwebap一个应用一个实例,暂未实现群集轨迹容器。
3) component的类加载考虑到目前plugin并不会太多,暂未实现独立的命名空间和类加载管理
4) plugin扩展,实现了基本的视图扩展,目前还只支持菜单级视图扩展点,jwebap提供了包括bytecode,plugin视图框架,轨迹,轨迹容器等基础构件供plugin使用
5) 对于plugin的部署和参数配置,提供后台界面完成
就这么多了,欢迎各位多提意见,后续plugin这块是一定要加强的,现有的模型如下:
Tracer插件
引用
说说,jwebap默认的plugin——tracer。基于前期实现的功能,实现tracer插件。包括jdbc调用分析,sql分析,sql调用程序栈跟踪,http分析,应用api调用分析,跟踪方法调用,调用栈,找出瓶颈的开销api。各种分析都可以设置时间阀值,提供清单的分析,和全量的平均时间,最大最小调用时间统计等。值得一提的是,本次新提供了sql分析语法加亮功能,同时修复了前期方法监听内部开启jdbc连接数显示不出的bug。具体插件的使用可以参考手册。
0.6.0版本修正内容:
引用
1) 实现jwebap.xml对plugin的配置
2) 修改connection-listner的bug
3) 存储过程监控不到
4) weblogic以war包方式部署会找不到jwebap.xml
5) weblogic下刷新控制台,会打印错误日志BUG
6) 整理出'tracer'插件
7) 增加jdbcComponent的SQL语法加亮显示功能
8) 修改SQL展现html转义BUG
9) jwebap-core核心包结构调整
下个版本重点计划内容:
引用
1)实现内存分析插件
2)实现插件管理视图扩展点配置
2)实现插件管理视图扩展点配置
评论
36 楼
dongsonger
2014-12-16
www.sourceforge.net/projects/jwebap 下载地址无法访问,请问在哪里可以下载最新版本
35 楼
ch2004
2011-11-04
itstarting 写道
leadyu 写道
Jwebap JdbcComponent配置注意:
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意!
由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz:
1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource
2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource
同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意!
由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz:
1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource
2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource
同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。
我在TOMCAT5.5下,使用了JNDI,此时是JNDI+JDBC的模式使用数据源,使用mysql数据库
我分析了这个版本的DBCP,不是标准的commons-jdbc,而是naming-factory-dbcp
此时我尝试了很多的办法,都无法配置出JdbcComponent的driver-clazzs:
1、org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
——此时加载时即出现异常:java.lang.LinkageError: duplicate class definition: org/apache/tomcat/dbcp/dbcp/BasicDataSourceFactory
2、org.apache.tomcat.dbcp.dbcp.BasicDataSource
——此时加载时即出现异常:java.lang.LinkageError: duplicate class definition: org/apache/tomcat/dbcp/dbcp/BasicDataSource
3、com.mysql.jdbc.NonRegisteringDriver
——我拷贝了驱动到WEB-INF/lib下,此时在使用连接时才会出现异常:java.lang.NoClassDefFoundError: org/jwebap/toolkit/bytecode/asm/StaticHandleFactory
我自己新建了一个test.Test.java就好了
34 楼
zm9913
2010-02-08
怎么我要监视的类都提示:注入失败
33 楼
leadyu
2009-08-07
sunwenran 写道
1)请问为什么要lanuch这个tracer.jar 而我运行失败
Step III: lanunch jwebap!
Lanunch tracer.jar in your application classes path(the default plugin in jwebap defined in jwebap.xml plugin-ref tag)
我的结果:
D:\Documents and Settings\Administrator>java -jar C:\projects\govsms\WebRoot\WEB-INF\lib\tracer.jar
Failed to load Main-Class manifest attribute from
C:\projects\govsms\WebRoot\WEB-INF\lib\tracer.jar
2)进入控制台点 plugins 列表中并没有任何 plugin
jwebbp配置没有动过 还是这样:
<plugin name="Tracer" ref="${ABSOLUTE_PATH}/tracer.jar"/>
而且点击”Deploy a new plugin“
无论是按提示填&{ABSOLUTE_PATH}/tracer.jar还是填${ABSOLUTE_PATH}/tracer.jar都无效,列表中还是没有任何 plugin
版本:jwebap_0.6.0.jar
我的环境 tomcat5 jdk5
我猜你的jwebap.xml没有放在正确的位置上,导致jwebap根本没找到jwebap的配置,你看看后台后无错误信息,或者检查下web.xml里面配的jwebap.xml的位置是否正确
32 楼
sunwenran
2009-08-06
1)请问为什么要lanuch这个tracer.jar 而我运行失败
Step III: lanunch jwebap!
Lanunch tracer.jar in your application classes path(the default plugin in jwebap defined in jwebap.xml plugin-ref tag)
我的结果:
D:\Documents and Settings\Administrator>java -jar C:\projects\govsms\WebRoot\WEB-INF\lib\tracer.jar
Failed to load Main-Class manifest attribute from
C:\projects\govsms\WebRoot\WEB-INF\lib\tracer.jar
2)进入控制台点 plugins 列表中并没有任何 plugin
jwebbp配置没有动过 还是这样:
<plugin name="Tracer" ref="${ABSOLUTE_PATH}/tracer.jar"/>
而且点击”Deploy a new plugin“
无论是按提示填&{ABSOLUTE_PATH}/tracer.jar还是填${ABSOLUTE_PATH}/tracer.jar都无效,列表中还是没有任何 plugin
版本:jwebap_0.6.0.jar
我的环境 tomcat5 jdk5
31 楼
leadyu
2009-08-05
ibadboy 写道
我项目中应用个这个框架,tomcat启动一切正常。能够进去管理界面。但是为什么只监控到http相关的信息。
jdbc和method都没有任何信息。我也看了前面的帖子,需要配detect-clazzs 我配的是自己封装的获取数据源
类。什么回事吗?
jwebap启动有否错误?或者把你的这个类发出来看看
30 楼
ibadboy
2009-08-05
我项目中应用个这个框架,tomcat启动一切正常。能够进去管理界面。但是为什么只监控到http相关的信息。
jdbc和method都没有任何信息。我也看了前面的帖子,需要配detect-clazzs 我配的是自己封装的获取数据源
类。什么回事吗?
29 楼
leadyu
2009-07-31
itstarting 写道
说说我的调试验证过程:
(注:验证你的包时,我正好在看OSWorkflow的代码,就扔进去试了)
为了搞清楚你说的“工程里面用户获取链接的类”,我还看了相关的代码,为:com.opensymphony.user.provider.jdbc.BaseJDBCProvider
这里的代码其实很简单:
protected DataSource ds;
...
ds = (DataSource) lookup(jndi);
...
ds.getConnection();
我跟踪调试了代码,此时lookup到的ds就是“org.apache.tomcat.dbcp.dbcp.BasicDataSource”的实例
到这里,我一直以为“工程里面用户获取链接的类”指的就是“org.apache.tomcat.dbcp.dbcp.BasicDataSource”,但怎么试都不行,我甚至怀疑自己的修改没有起作用,又看了看你的代码,确认无误啊
此时我灵机一动,你说的不会就是com.opensymphony.user.provider.jdbc.BaseJDBCProvider吧,一试果然对了,真是晕啊。
建议:你起名的driver-clazzs应该调整调整,哪怕叫ConnectionManager之类的也好;或者好好的写注释,否则还不知道你会因为这个问题浪费多少口舌,也不知让多少像我这么郁闷但又没我坚持的人对你的作品敬而远之。
driver-clazzs的配置不管在界面上还是文档里都有说明,很多网友不爱看,又或者我的描述不清楚。其实driver-clazzs的配置是很灵活的,不仅仅配ConnectionManager可以,配连接池的Datasource也可以,甚至直接配数据库驱动也可以,可能这个名字确实需要换一换,呵呵
28 楼
itstarting
2009-07-30
leadyu 写道
itstarting 写道
leadyu 写道
Jwebap JdbcComponent配置注意:
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意!
由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz:
1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource
2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource
同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意!
由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz:
1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource
2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource
同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。
我在TOMCAT5.5下,使用了JNDI,此时是JNDI+JDBC的模式使用数据源,使用mysql数据库
我分析了这个版本的DBCP,不是标准的commons-jdbc,而是naming-factory-dbcp
此时我尝试了很多的办法,都无法配置出JdbcComponent的driver-clazzs:
1、org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
——此时加载时即出现异常:java.lang.LinkageError: duplicate class definition: org/apache/tomcat/dbcp/dbcp/BasicDataSourceFactory
2、org.apache.tomcat.dbcp.dbcp.BasicDataSource
——此时加载时即出现异常:java.lang.LinkageError: duplicate class definition: org/apache/tomcat/dbcp/dbcp/BasicDataSource
3、com.mysql.jdbc.NonRegisteringDriver
——我拷贝了驱动到WEB-INF/lib下,此时在使用连接时才会出现异常:java.lang.NoClassDefFoundError: org/jwebap/toolkit/bytecode/asm/StaticHandleFactory
你用的这个dbcp其实还是容器管理的jndi连接池,为什么出现duplicate class definition重复类定义错误呢,是由于这个链接数据源是容器自己构建的,是没有办法在web应用里面监控。你可以把driver-clazzs配成你工程里面用户获取连接的类,它所返回的连接或者datasource对象都会被监控。
昨天已有网友问过这个问题,现在已经解决了,你试下
搞定了!
说说我的调试验证过程:
(注:验证你的包时,我正好在看OSWorkflow的代码,就扔进去试了)
为了搞清楚你说的“工程里面用户获取链接的类”,我还看了相关的代码,为:com.opensymphony.user.provider.jdbc.BaseJDBCProvider
这里的代码其实很简单:
protected DataSource ds;
...
ds = (DataSource) lookup(jndi);
...
ds.getConnection();
我跟踪调试了代码,此时lookup到的ds就是“org.apache.tomcat.dbcp.dbcp.BasicDataSource”的实例
到这里,我一直以为“工程里面用户获取链接的类”指的就是“org.apache.tomcat.dbcp.dbcp.BasicDataSource”,但怎么试都不行,我甚至怀疑自己的修改没有起作用,又看了看你的代码,确认无误啊
此时我灵机一动,你说的不会就是com.opensymphony.user.provider.jdbc.BaseJDBCProvider吧,一试果然对了,真是晕啊。
建议:你起名的driver-clazzs应该调整调整,哪怕叫ConnectionManager之类的也好;或者好好的写注释,否则还不知道你会因为这个问题浪费多少口舌,也不知让多少像我这么郁闷但又没我坚持的人对你的作品敬而远之。
27 楼
daiing
2009-07-28
leadyu 写道
daiing 写道
1、MethodComponent 配置里的detect-clazzs 为何不支持递归搜索,现在只支持配置到哪里就trace哪里,只能一个.*,连.*.*都不行更不用说递归所有子目录了
如果项目大点,有几百个子目录,那不是完全无法完成的任务
我觉得理论上这个不难啊,建议在下个版本里支持
2、第二个问题,sqls里显示
Statement: 2009-07-27 03:42:56/2009-07-27 03:42:56
sql: 3ms 9%
但是在列表里的cost是32,这个3ms,9%,32ms各是什么含义?能否解释一下,谢谢
3、第三个问题,Method trace里能不能把get,set方法过滤掉,你知道spring里一堆的get,set方法,翻了几页就一个有用的方法,其他都是get,set方法,太影响使用效率了
如果项目大点,有几百个子目录,那不是完全无法完成的任务
我觉得理论上这个不难啊,建议在下个版本里支持
2、第二个问题,sqls里显示
Statement: 2009-07-27 03:42:56/2009-07-27 03:42:56
sql: 3ms 9%
但是在列表里的cost是32,这个3ms,9%,32ms各是什么含义?能否解释一下,谢谢
3、第三个问题,Method trace里能不能把get,set方法过滤掉,你知道spring里一堆的get,set方法,翻了几页就一个有用的方法,其他都是get,set方法,太影响使用效率了
1)jwebap确实不支持包名通配符,我觉得一般也没有必要对全工程进行监控,一个是粒度太细必然给工程带来一定压力,可以只针对某一层次进行监控,比如业务层,或者服务层。在实现上,要考虑的问题也是比较多的。
2)这个时间指sql实际执行的时间,列表的时间指Connection从获取到关闭的时间,如果两者差距较大,这部分时间有可能开销在sql执行完,到连接关闭间的代码中(一般是操作游标的代码,可以理解成,数据传输的时间)
3)你提的建议,很好,这个版本的trace分析器还不具备这种过滤功能,待以后增强吧
第一个问题,在实际上线的时候是不可能对所有程序进行监控,对效率肯定有影响,但是在开发过程中,效率就不是考虑的问题,每个人都要对自己的所有程序监控一下,如果能实现了更大的范围,那更小的范围自然也能实现,每个场景下的需求是不同的,你这个项目做的不错,但是希望这个功能可以的话还是加上吧
26 楼
leadyu
2009-07-27
daiing 写道
1、MethodComponent 配置里的detect-clazzs 为何不支持递归搜索,现在只支持配置到哪里就trace哪里,只能一个.*,连.*.*都不行更不用说递归所有子目录了
如果项目大点,有几百个子目录,那不是完全无法完成的任务
我觉得理论上这个不难啊,建议在下个版本里支持
2、第二个问题,sqls里显示
Statement: 2009-07-27 03:42:56/2009-07-27 03:42:56
sql: 3ms 9%
但是在列表里的cost是32,这个3ms,9%,32ms各是什么含义?能否解释一下,谢谢
3、第三个问题,Method trace里能不能把get,set方法过滤掉,你知道spring里一堆的get,set方法,翻了几页就一个有用的方法,其他都是get,set方法,太影响使用效率了
如果项目大点,有几百个子目录,那不是完全无法完成的任务
我觉得理论上这个不难啊,建议在下个版本里支持
2、第二个问题,sqls里显示
Statement: 2009-07-27 03:42:56/2009-07-27 03:42:56
sql: 3ms 9%
但是在列表里的cost是32,这个3ms,9%,32ms各是什么含义?能否解释一下,谢谢
3、第三个问题,Method trace里能不能把get,set方法过滤掉,你知道spring里一堆的get,set方法,翻了几页就一个有用的方法,其他都是get,set方法,太影响使用效率了
1)jwebap确实不支持包名通配符,我觉得一般也没有必要对全工程进行监控,一个是粒度太细必然给工程带来一定压力,可以只针对某一层次进行监控,比如业务层,或者服务层。在实现上,要考虑的问题也是比较多的。
2)这个时间指sql实际执行的时间,列表的时间指Connection从获取到关闭的时间,如果两者差距较大,这部分时间有可能开销在sql执行完,到连接关闭间的代码中(一般是操作游标的代码,可以理解成,数据传输的时间)
3)你提的建议,很好,这个版本的trace分析器还不具备这种过滤功能,待以后增强吧
25 楼
daiing
2009-07-27
1、MethodComponent 配置里的detect-clazzs 为何不支持递归搜索,现在只支持配置到哪里就trace哪里,只能一个.*,连.*.*都不行更不用说递归所有子目录了
如果项目大点,有几百个子目录,那不是完全无法完成的任务
我觉得理论上这个不难啊,建议在下个版本里支持
2、第二个问题,sqls里显示
Statement: 2009-07-27 03:42:56/2009-07-27 03:42:56
sql: 3ms 9%
但是在列表里的cost是32,这个3ms,9%,32ms各是什么含义?能否解释一下,谢谢
3、第三个问题,Method trace里能不能把get,set方法过滤掉,你知道spring里一堆的get,set方法,翻了几页就一个有用的方法,其他都是get,set方法,太影响使用效率了
如果项目大点,有几百个子目录,那不是完全无法完成的任务
我觉得理论上这个不难啊,建议在下个版本里支持
2、第二个问题,sqls里显示
Statement: 2009-07-27 03:42:56/2009-07-27 03:42:56
sql: 3ms 9%
但是在列表里的cost是32,这个3ms,9%,32ms各是什么含义?能否解释一下,谢谢
3、第三个问题,Method trace里能不能把get,set方法过滤掉,你知道spring里一堆的get,set方法,翻了几页就一个有用的方法,其他都是get,set方法,太影响使用效率了
24 楼
leadyu
2009-07-24
lovit 写道
为什么看不到执行的SQL,谢谢!
请把错误和你的配置发出来
23 楼
leadyu
2009-07-24
itstarting 写道
leadyu 写道
Jwebap JdbcComponent配置注意:
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意!
由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz:
1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource
2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource
同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意!
由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz:
1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource
2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource
同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。
我在TOMCAT5.5下,使用了JNDI,此时是JNDI+JDBC的模式使用数据源,使用mysql数据库
我分析了这个版本的DBCP,不是标准的commons-jdbc,而是naming-factory-dbcp
此时我尝试了很多的办法,都无法配置出JdbcComponent的driver-clazzs:
1、org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
——此时加载时即出现异常:java.lang.LinkageError: duplicate class definition: org/apache/tomcat/dbcp/dbcp/BasicDataSourceFactory
2、org.apache.tomcat.dbcp.dbcp.BasicDataSource
——此时加载时即出现异常:java.lang.LinkageError: duplicate class definition: org/apache/tomcat/dbcp/dbcp/BasicDataSource
3、com.mysql.jdbc.NonRegisteringDriver
——我拷贝了驱动到WEB-INF/lib下,此时在使用连接时才会出现异常:java.lang.NoClassDefFoundError: org/jwebap/toolkit/bytecode/asm/StaticHandleFactory
你用的这个dbcp其实还是容器管理的jndi连接池,为什么出现duplicate class definition重复类定义错误呢,是由于这个链接数据源是容器自己构建的,是没有办法在web应用里面监控。你可以把driver-clazzs配成你工程里面用户获取连接的类,它所返回的连接或者datasource对象都会被监控。
昨天已有网友问过这个问题,现在已经解决了,你试下
22 楼
itstarting
2009-07-22
leadyu 写道
Jwebap JdbcComponent配置注意:
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意!
由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz:
1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource
2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource
同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意!
由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz:
1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource
2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource
同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。
我在TOMCAT5.5下,使用了JNDI,此时是JNDI+JDBC的模式使用数据源,使用mysql数据库
我分析了这个版本的DBCP,不是标准的commons-jdbc,而是naming-factory-dbcp
此时我尝试了很多的办法,都无法配置出JdbcComponent的driver-clazzs:
1、org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
——此时加载时即出现异常:java.lang.LinkageError: duplicate class definition: org/apache/tomcat/dbcp/dbcp/BasicDataSourceFactory
2、org.apache.tomcat.dbcp.dbcp.BasicDataSource
——此时加载时即出现异常:java.lang.LinkageError: duplicate class definition: org/apache/tomcat/dbcp/dbcp/BasicDataSource
3、com.mysql.jdbc.NonRegisteringDriver
——我拷贝了驱动到WEB-INF/lib下,此时在使用连接时才会出现异常:java.lang.NoClassDefFoundError: org/jwebap/toolkit/bytecode/asm/StaticHandleFactory
21 楼
lovit
2009-07-22
为什么看不到执行的SQL,谢谢!
20 楼
hua0424
2009-07-21
请问能对配置的包进行递归吗?
比如 test.test1.file.java
如果我配置test.*
那么file.java会不会被跟踪到
比如 test.test1.file.java
如果我配置test.*
那么file.java会不会被跟踪到
19 楼
hua0424
2009-07-21
proxool连接池应该怎么配置
18 楼
leadyu
2009-07-21
这个是由于MethodComponent默认配置了对test.Test类的监控,你在jwebap控制台界面上,把这个配置去掉就是:jwebap console>plugins>tracer>methodcomponent>detect-classes
17 楼
lovit
2009-07-20
fanwenqiang666 写道
我出现这个错误不知道是为什么? 请楼主帮忙
我也出现了 这个问题。
org.jwebap.toolkit.bytecode.InjectException: test.Test注入失败. at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.injectInternal(ASMInjectorStrategy.java:145) at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.inject(ASMInjectorStrategy.java:117) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:107) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:95) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:82) at org.jwebap.plugin.tracer.method.MethodComponent.injectClass(MethodComponent.java:92) at org.jwebap.plugin.tracer.method.MethodComponent.startup(MethodComponent.java:55) at org.jwebap.core.RuntimeContext.registerComponent(RuntimeContext.java:73) at org.jwebap.startup.Startup.startup(Startup.java:86) at org.jwebap.startup.Startup.startup(Startup.java:54) at org.jwebap.startup.JwebapListener.contextInitialized(JwebapListener.java:36) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.ClassNotFoundException: test.Test not found. at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.defineClass(ASMInjectorStrategy.java:213) at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.injectInternal(ASMInjectorStrategy.java:142) ... 34 more
相关推荐
"jwebap_0.6.0_all.zip"是一个压缩包文件,包含了开源的Web应用程序性能分析工具——jwebap的0.6.0版本。这个工具的主要特点是其轻量级和非侵入性,能够无缝集成到Web应用中,而无需修改或耦合到业务代码,使得...
implementation 'org.salient.artvideoplayer:artplayer-java:0.6.0' // Default control panel: optional implementation 'org.salient.artvideoplayer:artplayer-ui:0.6.0' //ijkPlayer: ...
PRDownloader-具有暂停和恢复支持的Android文件下载器库 ...implementation ' com.mindorks.android:prdownloader:0.6.0 ' 如果尚不存在,请不要忘记在清单中添加互联网许可 然后在应用程序类的onC
赠送jar包:twill-zookeeper-0.6.0-incubating.jar; 赠送原API文档:twill-zookeeper-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-zookeeper-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-...
赠送jar包:tephra-api-0.6.0.jar; 赠送原API文档:tephra-api-0.6.0-javadoc.jar; 赠送源代码:tephra-api-0.6.0-sources.jar; 赠送Maven依赖信息文件:tephra-api-0.6.0.pom; 包含翻译后的API文档:tephra-api...
赠送jar包:twill-common-0.6.0-incubating.jar; 赠送原API文档:twill-common-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-common-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-common-...
赠送jar包:twill-core-0.6.0-incubating.jar; 赠送原API文档:twill-core-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-core-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-core-0.6.0-...
赠送jar包:twill-api-0.6.0-incubating.jar; 赠送原API文档:twill-api-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-api-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-api-0.6.0-...
赠送jar包:twill-zookeeper-0.6.0-incubating.jar; 赠送原API文档:twill-zookeeper-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-zookeeper-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-...
赠送jar包:twill-common-0.6.0-incubating.jar; 赠送原API文档:twill-common-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-common-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-common-...
赠送jar包:twill-api-0.6.0-incubating.jar; 赠送原API文档:twill-api-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-api-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-api-0.6.0-...
赠送jar包:twill-core-0.6.0-incubating.jar; 赠送原API文档:twill-core-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-core-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-core-0.6.0-...
运营商拆分QP解算器 您有任何与求解器有关的问题,请!... 最新版本是0.6.0 。 引用OSQP 如果您在工作中使用OSQP,我们建议您 , 在此存储库上放一个星号。 我们期待听到您在OSQP上的成功案例! 请。
赠送jar包:twill-discovery-api-0.6.0-incubating.jar; 赠送原API文档:twill-discovery-api-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-discovery-api-0.6.0-incubating-sources.jar; 赠送Maven依赖信息...
赠送jar包:twill-discovery-api-0.6.0-incubating.jar; 赠送原API文档:twill-discovery-api-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-discovery-api-0.6.0-incubating-sources.jar; 赠送Maven依赖信息...
JBoss Config GUI 版本 0.6.0 Beta 4 是一个专为管理JBoss应用服务器配置而设计的图形用户界面工具。该版本作为Java平台上的应用,旨在简化JBoss服务器的配置过程,使非技术人员也能更方便地操作。通过提供直观的...
v.0.6.0 Usage (Maven) com.shehabic.droppy Droppy 0.6.0 Usage (Gradle) compile 'com.shehabic.droppy:Droppy:0.6.0@aar' Generate Programmatically // Assume we have a button in our Layout as follows ...
软件名称:Shou屏幕...最新版本:0.6.0 支持ROM:4.1及更高版本 界面语言:英文软件 软件大小:10.00 M 开发者:Shou Ltd Shou可以对屏幕内容进行视频录制和直播,需要root的4.X设备,5.0下可以无需Root权限,特性:
碘(Iodine)是一款开源的网络通信工具,其0.6.0版本是该软件的一个迭代更新。碘主要用于创建DNS(Domain Name System)隧道,它能够利用DNS协议进行数据传输,从而实现网络通信或者绕过特定的网络限制,例如在某些...
配置对应个版本代码以及基础环境版本安装包,包括 在虚拟机环境CentOS 7 下基于IDEA配置隐语(secretflow)secretpad前后端开发环境,secretpad version: 0.5.0b0 其他模块版本: kuscia version: 0.6.0b0 ...