zoukankan      html  css  js  c++  java
  • 控Proxool连接池的活动连接变化情况

    /Files/pony/ConnDB.txt(我用到的一个例子)

     

    下面是摘抄的

     

    研究了Proxool连接池的源代码后完成下面的程序,Proxool连接池的配置过程略。 网管u家u.bitscn@com

    /**//*
    网管bitscn_com

    *@author 我为J狂 建立日期 2007-4-18
    *
    */
    package net.blogjava.lzqdiy;

    import java.net.URL;
    import java.sql.*;
    import org.logicalcobwebs.proxool.ProxoolException; 网管联盟bitsCN_com
    import org.logicalcobwebs.proxool.ProxoolFacade;
    import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;
    import org.logicalcobwebs.proxool.admin.SnapshotIF;

    public class DBConnection
    {
    网管论坛bbs_bitsCN_com

        private static boolean initialized = false;

        private static int activeCount = 0;
    网管联盟bitsCN_com

        public static Connection getConnection() throws SQLException
        { 网管bitscn_com
            Connection connection = null;
            if (!initialized)
            { 网管网www_bitscn_com

                init();
            }

            connection = DriverManager.getConnection("proxool.Develop");
            try
            { 网管下载dl.bitscn.com
                SnapshotIF snapshot = ProxoolFacade.getSnapshot("Develop", true);
                int curActiveCount = snapshot.getActiveConnectionCount();// 获得活动连接数
                int availableCount = snapshot.getAvailableConnectionCount();// 获得可得到的连接数 网管联盟bitsCN@com
                int maxCount = snapshot.getMaximumConnectionCount();// 获得总连接数
                if (curActiveCount != activeCount)// 当活动连接数变化时输出信息
                { 网管论坛bbs_bitsCN_com
                    System.out.println("----------------------------------");
                    System.out
                            .println(curActiveCount + "(active)  " + availableCount
    网管联盟bitsCN_com

                                    + "(available)  " + maxCount + "(max)");
                    System.out.println("----------------------------------");
    网管联盟bitsCN@com

                    activeCount = curActiveCount;
                }

            } catch (ProxoolException e)
            {
    网管bitscn_com

                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            if (connection != null)
            {
    网管联盟bitsCN_com

                return connection;
            } else
            {
    网管网www.bitscn.com

                throw new NullPointerException(
                        "Didn't get connection, which probably means that no Driver accepted the URL");
            }

        } 网管论坛bbs_bitsCN_com

        private static void init()
        {
    网管论坛bbs_bitsCN_com

            String fileName = "proxool.xml";
            URL resourceURL = null;
            try
            { 网管网www.bitscn.com
                if (Thread.currentThread().getContextClassLoader() != null)
                {
    网管网www.bitscn.com

                    resourceURL = Thread.currentThread().getContextClassLoader()
                            .getResource(fileName);
                }

                if (resourceURL == null)
    网管下载dl.bitscn.com

                {
    网管联盟bitsCN_com

                    resourceURL = DBConnection.class.getClassLoader().getResource(
                            fileName);
                }

                JAXPConfigurator.configure(resourceURL.getFile(), false); 网管下载dl.bitscn.com
                Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
            } catch (ClassNotFoundException e)
            { 网管u家u.bitsCN.com
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ProxoolException e)
            {
    网管u家u.bitsCN.com

                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            initialized = true;
        }
    中国网管论坛bbs.bitsCN.com

    }

    proxool.xml内容
    网管联盟bitsCN@com

    <?xml version="1.0" encoding="UTF-8"?>
    <something-else-entirely>
      <proxool>
        <alias>Develop</alias>
    中国网管联盟bitsCN.com

        <driver-url>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.6)(PORT=1521)))(CONNECT_DATA=(SID=lzqdiy)(SERVER=DEDICATED)))
        </driver-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    中国网管论坛bbs.bitsCN.com

        <driver-properties>
          <property name="user" value="lzqdiy"/>
          <property name="password" value="lzqdiy"/>
    网管u家u.bitsCN.com

        </driver-properties>
        <maximum-connection-count>120</maximum-connection-count>
        <minimum-connection-count>20</minimum-connection-count>
    网管网www_bitscn_com

        <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
      </proxool>
    </something-else-entirely>

    通过语句:Connection con=DBConnection.getConnection();来获得一个数据库连接,当活动连接数变化时向控制台输出连接信息。
    【转自www.bitsCN.com】

  • 相关阅读:
    方便处理hosts的批处理脚本:hosts助手.bat
    IOS tableView的基本使用
    IOS 分页(pagingEnabled)
    IOS 添加定时器(NSTimer)
    IOS ScrollView的使用 and delegate
    IOS 设置定时器,执行方法
    IOS 拼接按钮文字
    IOS 设置ipone状态栏的样式
    IOS xcode常用的快捷键
    IOS 制作常用代码的快捷方式
  • 原文地址:https://www.cnblogs.com/pony/p/1266143.html
Copyright © 2011-2022 走看看