p6spy,sql profiler,tomcat,dbcp,servlet,郁闷,妖怪问题

被这些东东郁闷的一下午了,郁闷就一个字~ 终于明白了“世界上就三种人,会数数的和不会数数的!”
本来就是一个很简单的问题p6spy,profiler,tomcat,两个几乎不用改动的配置文件,两个jar包就可以搞定,但是就是因为这个dbcp连接池,引起无数让人胡乱联想的问题,当然都可以归为rpwt,避免前车之鉴,总结一下哈:
一、一般整合(tomcat,p6spy,profiler)
1.把p6spy的配置文件spy.properties(直接使用profiler提供的版本)放到tomcat classpath(如$tomcat_home/common/classes/)下。
2.修改spy.properties中的jdbc dirver名称,注释掉不使用的jdbc driver
3.把p6spy放入相应的webapp classpath(如webapp/WEB-INF/lib/)下
4.替换tomcat或者程序中相应的jdbc driver名称为p6spy(com.p6spy.engine.spy.P6SpyDriver)
5.运行profiler(java -jar profiler.jar)
6.运行webapp,则p6spy和profiler通过log4j的socket appender连接
    ps:5和6顺序不能乱,否则webapp中的p6spy不能通过soket连接profiler
完毕。
二、有连接池或提前加载的包含数据库操作servlet(load on startup或者context listener或者servlet filter)
1.同上
2.同上
3.修改spy.properties中的deregisterdrivers属性为true(因为以上类可能会提前注册jdbc driver,导致一些问题...血淋淋的教训啊)
4.把p6spy放入相应的webapp classpath(如webapp/WEB-INF/lib/)下,不要放在公用classpath下,如$tomcat_home/common/lib/
5.其他同上

完毕,再哭一次

你可能感兴趣的:(sql,tomcat,servlet,jdbc,webapp,profiler)