服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

监控proxool连接池的活动连接变化情况

研究了proxool连接池的源代码后完成下面的程序,proxool连接池的配置过程略。


监控proxool连接池的活动连接变化情况(图一)监控proxool连接池的活动连接变化情况(图二)/**//*
监控proxool连接池的活动连接变化情况(图三)*@author 我为j狂 建立日期 2007-4-18
监控proxool连接池的活动连接变化情况(图三)*
监控proxool连接池的活动连接变化情况(图四)*/
监控proxool连接池的活动连接变化情况(图五)package net.blogjava.lzqdiy;
监控proxool连接池的活动连接变化情况(图五)
监控proxool连接池的活动连接变化情况(图五)import java.net.url;
监控proxool连接池的活动连接变化情况(图五)import java.sql.*;
监控proxool连接池的活动连接变化情况(图五)import org.logicalcobwebs.proxool.proxoolexception;
监控proxool连接池的活动连接变化情况(图五)import org.logicalcobwebs.proxool.proxoolfacade;
监控proxool连接池的活动连接变化情况(图五)import org.logicalcobwebs.proxool.configuration.jaxpconfigurator;
监控proxool连接池的活动连接变化情况(图五)import org.logicalcobwebs.proxool.admin.snapshotif;
监控proxool连接池的活动连接变化情况(图五)
监控proxool连接池的活动连接变化情况(图五)public class dbconnection
监控proxool连接池的活动连接变化情况(图一)监控proxool连接池的活动连接变化情况(图二)监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)    private static boolean initialized = false;
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)    private static int activecount = 0;
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)    public static connection getconnection() throws sqlexception
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)    监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)        connection connection = null;
监控proxool连接池的活动连接变化情况(图三)        if (!initialized)
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)        监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)            init();
监控proxool连接池的活动连接变化情况(图九)        }
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)        connection = drivermanager.getconnection("proxool.develop");
监控proxool连接池的活动连接变化情况(图三)        try
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)        监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)            snapshotif snapshot = proxoolfacade.getsnapshot("develop", true);
监控proxool连接池的活动连接变化情况(图三)            int curactivecount = snapshot.getactiveconnectioncount();// 获得活动连接数
监控proxool连接池的活动连接变化情况(图三)            int availablecount = snapshot.getavailableconnectioncount();// 获得可得到的连接数
监控proxool连接池的活动连接变化情况(图三)            int maxcount = snapshot.getmaximumconnectioncount();// 获得总连接数
监控proxool连接池的活动连接变化情况(图三)            if (curactivecount != activecount)// 当活动连接数变化时输出信息
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)            监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)                system.out.println("----------------------------------");
监控proxool连接池的活动连接变化情况(图三)                system.out
监控proxool连接池的活动连接变化情况(图三)                        .println(curactivecount + "(active)  " + availablecount
监控proxool连接池的活动连接变化情况(图三)                                + "(available)  " + maxcount + "(max)");
监控proxool连接池的活动连接变化情况(图三)                system.out.println("----------------------------------");
监控proxool连接池的活动连接变化情况(图三)                activecount = curactivecount;
监控proxool连接池的活动连接变化情况(图九)            }
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图九)        } catch (proxoolexception e)
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)        监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)            // todo auto-generated catch block
监控proxool连接池的活动连接变化情况(图三)            e.printstacktrace();
监控proxool连接池的活动连接变化情况(图九)        }
监控proxool连接池的活动连接变化情况(图三)        if (connection != null)
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)        监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)            return connection;
监控proxool连接池的活动连接变化情况(图九)        } else
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)        监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)            throw new nullpointerexception(
监控proxool连接池的活动连接变化情况(图三)                    "didn't get connection, which probably means that no driver accepted the url");
监控proxool连接池的活动连接变化情况(图九)        }
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图九)    }
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)    private static void init()
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)    监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)        string filename = "proxool.xml";
监控proxool连接池的活动连接变化情况(图三)        url resourceurl = null;
监控proxool连接池的活动连接变化情况(图三)        try
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)        监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)            if (thread.currentthread().getcontextclassloader() != null)
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)            监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)                resourceurl = thread.currentthread().getcontextclassloader()
监控proxool连接池的活动连接变化情况(图三)                        .getresource(filename);
监控proxool连接池的活动连接变化情况(图九)            }
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)            if (resourceurl == null)
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)            监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)                resourceurl = dbconnection.class.getclassloader().getresource(
监控proxool连接池的活动连接变化情况(图三)                        filename);
监控proxool连接池的活动连接变化情况(图九)            }
监控proxool连接池的活动连接变化情况(图三)
监控proxool连接池的活动连接变化情况(图三)            jaxpconfigurator.configure(resourceurl.getfile(), false);
监控proxool连接池的活动连接变化情况(图三)            class.forname("org.logicalcobwebs.proxool.proxooldriver");
监控proxool连接池的活动连接变化情况(图九)        } catch (classnotfoundexception e)
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)        监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)            // todo auto-generated catch block
监控proxool连接池的活动连接变化情况(图三)            e.printstacktrace();
监控proxool连接池的活动连接变化情况(图九)        } catch (proxoolexception e)
监控proxool连接池的活动连接变化情况(图七)监控proxool连接池的活动连接变化情况(图八)        监控proxool连接池的活动连接变化情况(图六){
监控proxool连接池的活动连接变化情况(图三)            // todo auto-generated catch block
监控proxool连接池的活动连接变化情况(图三)            e.printstacktrace();
监控proxool连接池的活动连接变化情况(图九)        }
监控proxool连接池的活动连接变化情况(图三)        initialized = true;
监控proxool连接池的活动连接变化情况(图九)    }
监控proxool连接池的活动连接变化情况(图四)}
监控proxool连接池的活动连接变化情况(图五)

proxool.xml内容

监控proxool连接池的活动连接变化情况(图五)<?xml version="1.0" encoding="utf-8"?>
监控proxool连接池的活动连接变化情况(图五)<something-else-entirely>
监控proxool连接池的活动连接变化情况(图五)  <proxool>
监控proxool连接池的活动连接变化情况(图五)    <alias>develop</alias>
监控proxool连接池的活动连接变化情况(图五)    <driver-url>jdbc:oracle:thin:@(description=(address_list=(address=(protocol=tcp)(host=192.168.0.6)(port=1521)))(connect_data=(sid=lzqdiy)(server=dedicated)))
监控proxool连接池的活动连接变化情况(图五)    </driver-url>
监控proxool连接池的活动连接变化情况(图五)    <driver-class>oracle.jdbc.driver.oracledriver</driver-class>
监控proxool连接池的活动连接变化情况(图五)    <driver-properties>
监控proxool连接池的活动连接变化情况(图五)      <property name="user" value="lzqdiy"/>
监控proxool连接池的活动连接变化情况(图五)      <property name="password" value="lzqdiy"/>
监控proxool连接池的活动连接变化情况(图五)    </driver-properties>
监控proxool连接池的活动连接变化情况(图五)    <maximum-connection-count>120</maximum-connection-count>
监控proxool连接池的活动连接变化情况(图五)    <minimum-connection-count>20</minimum-connection-count>
监控proxool连接池的活动连接变化情况(图五)    <house-keeping-test-sql>select current_date</house-keeping-test-sql>
监控proxool连接池的活动连接变化情况(图五)  </proxool>
监控proxool连接池的活动连接变化情况(图五)</something-else-entirely>
监控proxool连接池的活动连接变化情况(图五)
监控proxool连接池的活动连接变化情况(图五)
通过语句:connection con=dbconnection.getconnection();来获得一个数据库连接,当活动连接数变化时向控制台输出连接信息。

扫描关注微信公众号