zoukankan      html  css  js  c++  java
  • JAMon监控SQL执行时间

    JAMon监控web工程方法的调用性能 http://www.cnblogs.com/zfc2201/p/3786365.html

    这往往篇文章主要告诉大家如何监控web方法调用时间,在这个基础这上,如果我们想要监控sql的执行时间,需要增加如下的配置:

    1.增加一个类,假设是com.allen.bookshop.common.MonitorDataSource

    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.SQLException;
    
    import javax.sql.DataSource;
    
    import com.jamonapi.proxy.MonProxyFactory;
    
    public class MonitorDataSource implements DataSource
    {
        private DataSource realDataSource;
    
        public void setRealDataSource( DataSource realDataSource )
        {
            this.realDataSource = realDataSource;
        }
    
        public DataSource getRealDataSource()
        {
            return realDataSource;
        }
    
        public Connection getConnection() throws SQLException
        {
            // 表示由jamon来代理realDataSource返回的Connection
            return MonProxyFactory.monitor( realDataSource.getConnection() );
        }
    
        public Connection getConnection( String username, String password )
                throws SQLException
        {
            // 表示由jamon来代理realDataSource返回的Connection
    
            return MonProxyFactory.monitor( realDataSource.getConnection( username,
                    password ) );
        }
    
        public PrintWriter getLogWriter() throws SQLException
        {
            return realDataSource.getLogWriter();
        }
    
        public int getLoginTimeout() throws SQLException
        {
            return realDataSource.getLoginTimeout();
        }
    
        public void setLogWriter( PrintWriter out ) throws SQLException
        {
            realDataSource.setLogWriter( out );
        }
    
        public void setLoginTimeout( int seconds ) throws SQLException
        {
            realDataSource.setLoginTimeout( seconds );
        }
    }

    2.对数据源进行配置:

        <bean id="dataSource" class="com.allen.bookshop.common.MonitorDataSource" destroy-method="close">  
            <property name="realDataSource" ref="basicDataSource"/>  
        </bean>
       <bean id="basicDataSource" class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">
            <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
            <property name="url" value="jdbc:oracle:thin:@192.168.0.11:1521:orcl" />
            <property name="username" value="orcl" />
            <property name="password" value="orcl" />
            <property name="initialSize" value="20" />
            <property name="maxActive" value="50" />
            <property name="defaultAutoCommit" value="true" />   
        </bean>

    至此,配置完成,现在可以访问:http://localhost:8080/bookshop/jamon/sql.jsp查看sql的执行时间了。

  • 相关阅读:
    C#调用WebService实现天气预报
    火狐完整版下载地址
    Unity3D 中 2D_Toolkit插件下载 和 导入方法
    给大家分享个 网站头像上传的 插件
    JQuery工具方法,实例方法
    ireport5.6.0 win10打不开
    JFreeChart 零散
    JS 类继承 原型继承
    技术电子书下载网址
    正则 变量替换
  • 原文地址:https://www.cnblogs.com/zfc2201/p/3786383.html
Copyright © 2011-2022 走看看