<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    監(jiān)控Proxool連接池的活動(dòng)連接變化情況

    研究了Proxool連接池的源代碼后完成下面的程序,Proxool連接池的配置過(guò)程略。

    /*
    *@author 我為J狂 建立日期 2007-4-18
    *
    */

    package net.blogjava.lzqdiy;

    import java.net.URL;
    import java.sql.*;
    import org.logicalcobwebs.proxool.ProxoolException;
    import org.logicalcobwebs.proxool.ProxoolFacade;
    import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;
    import org.logicalcobwebs.proxool.admin.SnapshotIF;

    public class DBConnection
    {

        
    private static boolean initialized = false;

        
    private static int activeCount = 0;

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

                init();
            }


            connection 
    = DriverManager.getConnection("proxool.Develop");
            
    try
            
    {
                SnapshotIF snapshot 
    = ProxoolFacade.getSnapshot("Develop"true);
                
    int curActiveCount = snapshot.getActiveConnectionCount();// 獲得活動(dòng)連接數(shù)
                int availableCount = snapshot.getAvailableConnectionCount();// 獲得可得到的連接數(shù)
                int maxCount = snapshot.getMaximumConnectionCount();// 獲得總連接數(shù)
                if (curActiveCount != activeCount)// 當(dāng)活動(dòng)連接數(shù)變化時(shí)輸出信息
                {
                    System.out.println(
    "----------------------------------");
                    System.out
                            .println(curActiveCount 
    + "(active)  " + availableCount
                                    
    + "(available)  " + maxCount + "(max)");
                    System.out.println(
    "----------------------------------");
                    activeCount 
    = curActiveCount;
                }


            }
     catch (ProxoolException e)
            
    {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }

            
    if (connection != null)
            
    {

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


        }


        
    private static void init()
        
    {
            String fileName 
    = "proxool.xml";
            URL resourceURL 
    = null;
            
    try
            
    {
                
    if (Thread.currentThread().getContextClassLoader() != null)
                
    {
                    resourceURL 
    = Thread.currentThread().getContextClassLoader()
                            .getResource(fileName);
                }


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


                JAXPConfigurator.configure(resourceURL.getFile(), 
    false);
                Class.forName(
    "org.logicalcobwebs.proxool.ProxoolDriver");
            }
     catch (ClassNotFoundException e)
            
    {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
     catch (ProxoolException e)
            
    {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }

            initialized 
    = true;
        }

    }

    proxool.xml內(nèi)容

    <?xml version="1.0" encoding="UTF-8"?>
    <something-else-entirely>
      
    <proxool>
        
    <alias>Develop</alias>
        
    <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>
        
    <driver-properties>
          
    <property name="user" value="lzqdiy"/>
          
    <property name="password" value="lzqdiy"/>
        
    </driver-properties>
        
    <maximum-connection-count>120</maximum-connection-count>
        
    <minimum-connection-count>20</minimum-connection-count>
        
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
      
    </proxool>
    </something-else-entirely>

    通過(guò)語(yǔ)句:Connection con=DBConnection.getConnection();來(lái)獲得一個(gè)數(shù)據(jù)庫(kù)連接,當(dāng)活動(dòng)連接數(shù)變化時(shí)向控制臺(tái)輸出連接信息。

    posted on 2007-04-18 20:58 我為J狂 閱讀(3070) 評(píng)論(7)  編輯  收藏 所屬分類(lèi): 數(shù)據(jù)庫(kù)編程

    評(píng)論

    # re: 監(jiān)控Proxool連接池的活動(dòng)連接變化情況 2007-04-20 09:21 nanako

    我用了proxool后做了一下測(cè)試,沒(méi)想到速度竟然比hibernate自帶的連接池還要慢,不知道是什么原因  回復(fù)  更多評(píng)論   

    # re: 監(jiān)控Proxool連接池的活動(dòng)連接變化情況 2007-04-20 10:20 nanako

    為什么我的監(jiān)控頁(yè)面里active的connection的數(shù)量總是0?  回復(fù)  更多評(píng)論   

    # re: 監(jiān)控Proxool連接池的活動(dòng)連接變化情況 2007-04-20 11:23 我為J狂

    @nanako
    proxool連接池的性能應(yīng)該是最好的,如果不信,你可以去看看這篇文章http://hi.baidu.com/dburu/blog/item/7335892f6a8662391f3089be.html
    對(duì)于您提出的active的connection的數(shù)量為0的問(wèn)題,我沒(méi)遇到過(guò),不過(guò)我想應(yīng)該是你的連接池配置的問(wèn)題。  回復(fù)  更多評(píng)論   

    # re: 監(jiān)控Proxool連接池的活動(dòng)連接變化情況 2007-04-20 14:11 nanako

    @我為J狂
    連接數(shù)據(jù)為零的問(wèn)題我解決了,但是性能確實(shí)沒(méi)有hibernate自帶的快,而且慢了很多,我也覺(jué)得很奇怪,不知道你自己做過(guò)測(cè)試沒(méi)有,還有想問(wèn)問(wèn)你的proxool的參數(shù)是怎么配的  回復(fù)  更多評(píng)論   

    # re: 監(jiān)控Proxool連接池的活動(dòng)連接變化情況 2007-04-20 14:20 我為J狂

    @nanako
    我們公司用的就是proxool連接池,感覺(jué)還不錯(cuò),hibernate自帶的連接池我沒(méi)用過(guò)。
      回復(fù)  更多評(píng)論   

    # re: 監(jiān)控Proxool連接池的活動(dòng)連接變化情況 2007-05-22 16:50 java_蟈蟈

    我配置后,能讀出數(shù)據(jù),但會(huì)拋出如下異常,這是什么原因???
    org.logicalcobwebs.proxool.ShutdownHook] - Problem calling "get cause" on IllegalStateException.
    java.lang.reflect.InvocationTargetException   回復(fù)  更多評(píng)論   

    # re: active的connection的數(shù)量為0況 2007-12-15 00:26 kainsas

    我的也總是零,怎么回事啊??  回復(fù)  更多評(píng)論   

    <2007年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(11)

    隨筆分類(lèi)(48)

    文章分類(lèi)(29)

    常去逛逛

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲色婷婷一区二区三区| 亚洲成人免费在线| 日韩在线视频播放免费视频完整版| 日韩亚洲国产综合高清| 亚洲最大无码中文字幕| 亚洲中文字幕一区精品自拍| 亚洲综合丁香婷婷六月香| 色偷偷亚洲女人天堂观看欧| 在线综合亚洲中文精品| 亚洲一区二区三区高清在线观看| 亚洲综合在线一区二区三区| 亚洲精品国产摄像头| 国产天堂亚洲精品| 一级毛片免费播放试看60分钟| 中文字幕在线免费观看视频| 最近中文字幕大全免费版在线| 99精品视频免费在线观看| **真实毛片免费观看| 成人性生交大片免费看无遮挡 | 亚洲一区欧洲一区| 亚洲一区二区三区国产精华液| 国产成人综合亚洲| 精品国产免费人成网站| 男人都懂www深夜免费网站| 2019中文字幕免费电影在线播放| 99精品国产免费久久久久久下载 | 国产精品无码永久免费888| 97无码人妻福利免费公开在线视频 | 亚洲高清专区日韩精品| 亚洲视频免费观看| 亚洲综合色区中文字幕| 污污视频网站免费观看| 国产免费爽爽视频在线观看| 亚洲无砖砖区免费| 国产精品黄页在线播放免费| 亚洲一区二区女搞男| 亚洲另类自拍丝袜第1页| 国产亚洲精品精品精品| 在线涩涩免费观看国产精品| 日本最新免费网站| 亚洲AV永久无码精品一区二区国产|