频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

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

来源:我为J狂 作者: 出处:巧巧读书 2007-04-23 进入讨论组

研究了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();来获得一个数据库连接,当活动连接数变化时向控制台输出连接信息。巧 巧 读 书:http://www.qqread.com/java/2007/04/g310038.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章