`

proxool 连接池配置 (版本0.9.0RC3)

阅读更多
官方网站:http://proxool.sourceforge.net/
目前最新的版本是版本0.9.0RC3(2007-01-10);
你也可以通过cvs下载最新的源代码:
cvs -d:pserver:anonymous@proxool.cvs.sourceforge.net:/cvsroot/proxool login
cvs -z3 -d:pserver:anonymous@proxool.cvs.sourceforge.net:/cvsroot/proxool co proxool


首先编写配置文件proxool.xml
[XML] view plaincopy
<proxool> 
    <alias>qxgldb</alias> 
    <driver-url> 
        jdbc:jtds:sqlserver://localhost:1433/wmjqxgl;SelectMethod=cursor;charset=GBK;tds=8.0;lastupdatecount=true 
    </driver-url> 
    <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
    <driver-properties> 
        <property name="user" value="sa"> 
        <property name="password" value="sa"> 
    </property> 
 
    <house-keeping-sleep-time>30000</house-keeping-sleep-time> 
    <!-- 配置为30秒, proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁。 --> 
    <!-- 保留线程处于睡眠状态的最长时间,house keeper 的职责就是检查各个连接的状态,并判断是否需要销毁或者创建. --> 
    <!-- How long the house keeping thread sleeps for (milliseconds). Defaults to 
        30000 (30 seconds) --> 
 
    <simultaneous-build-throttle>20</simultaneous-build-throttle><!-- 同时最大连接数 --> 
    <!-- This is the maximum number of connections we can be building at any one time. That is, 
        the number of new connections that have been requested but aren't yet available for use.(这个参数不可用) 
        Defaults to 10. --> 
    <house-keeping-sleep-time>3000</house-keeping-sleep-time> 
    <!-- 检测线程睡眠多长时间。How long the house keeping thread sleeps for (milliseconds). Defaults to 
        30000 (30 seconds) --> 
    <maximum-active-time>180000</maximum-active-time> 
    <!-- 配置了3分钟,如果housekeeper 检测到某个线程的活动时间大于这个数值.它将会杀掉这个线程.所以确认一下你的服务器的带宽.然后定一个合适的值.默认是5分钟. --> 
    <!-- maximum-active-time,配置了3分钟,一旦达到最大的连接数,只有这个指令才能够杀死连接线程。 --> 
    <maximum-new-connections>20</maximum-new-connections> 
    <!--注意:这个参数暂时未实现。 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受。 --> 
    <!-- This is the maximum number of connections we can be building at any one time. That is, 
        the number of new connections that have been requested but aren't yet available for use. 
        Defaults to 10. --> 
    <maximum-connection-lifetime>3600000</maximum-connection-lifetime> 
    <!-- 任何空闲连接超过1小时,那么将被remove。Any idle connections older than this will be removed by the housekeeper (milliseconds). 
        Defaults to 4 * 60 * 60 * 1000 (4 hours). --> 
    <prototype-count>5</prototype-count> 
    <!-- 最少保持的空闲连接数。如果少于这个连接数,那么新的连接将被建立。 --> 
    <!-- If there are fewer than this number of connections available then we will build some more 
        (assuming the maximum-connection-count is not exceeded). Defaults to zero. --> 
 
 
    <maximum-connection-count>12</maximum-connection-count> 
    <!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 --> 
    <minimum-connection-count>5</minimum-connection-count> 
    <!-- 最小连接数 --> 
    <house-keeping-test-sql>select getdate()</house-keeping-test-sql> 
    <!-- 测试连接使用的sql --> 
 
    <recently-started-threshold>60000</recently-started-threshold> 
    <!-- This helps us determine whether the pool status. As long as at least one connection was 
        started within this threshold (milliseconds) or there are some spare connections available 
        then we assume the pool is up. Defaults to 60 seconds. --> 
    <overload-without-refusal-lifetime>60000</overload-without-refusal-lifetime> 
    <!-- This helps us determine the pool status. If we have refused a connection within this threshold 
        (milliseconds) then we are overloaded. Defaults to 60 seconds. --> 
 
    <verbose>false</verbose> 
    <!-- Either false (quiet) or true (loud). Default is false. --> 
    <trace>true</trace> 
    <!-- If true then every execution will be logged. Default is false. --> 
    <statistics>1m,15m,1d</statistics> 
    <!-- The sample length when taking statistical information, comma-delimited. For example: '10s,15m'  
        would mean take samples every 10 seconds and every 15 minutes. Valid units are s(econds),  
        m(inutes), h(ours) and d(ays). Default is no statistics --> 
    <statistics-log-level>INFO</statistics-log-level> 
    <!-- Whether statistics are logged as they are produced. Range: DEBUG, INFO, WARN, ERROR, FATAL.  
        Not to be confused with the level used with the general log. You have to configure that  
        separately. Default is no logging --> 
</property> 
<pre></pre></driver-properties></proxool> 

然后修改web.xml
[XML] view plaincopy
<!-- 加载proxool连接池的配置信息 --> 
<servlet> 
    <servlet-name>ServletConfigurator</servlet-name> 
    <servlet-class> 
        org.logicalcobwebs.proxool.configuration.ServletConfigurator 
    </servlet-class> 
    <init-param> 
        <param-name>xmlFile</param-name> 
        <param-value>WEB-INF/proxool.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<!-- 连接池监控的servlet --> 
<servlet> 
    <servlet-name>ProxoolAdmin</servlet-name> 
    <servlet-class> 
        org.logicalcobwebs.proxool.admin.servlet.AdminServlet 
    </servlet-class> 
    <init-param> 
        <param-name>output</param-name> 
        <param-value>full</param-value> 
    </init-param> 
</servlet> 
<servlet-mapping> 
    <servlet-name>ProxoolAdmin</servlet-name> 
    <url-pattern>/ProxoolAdmin</url-pattern> 
</servlet-mapping><pre></pre> 
访问连接池监控页面的时候,可能会出现乱码。
解决办法:找到org.logicalcobwebs.proxool.admin.servlet.AdminServlet.java
将对应的java代码更改为下面的代码即可。(因为就是时间乱码)
    /**
     * dd-MMM-yyyy HH:mm:ss
     */
    private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

如何通过proxool连接池来获取链接呢?
核心代码如下:
[Java] view plaincopy
public  Connection getConnection() { 
    Connection connection = null; 
    //org.logicalcobwebs.proxool.ProxoolDriver 
    try { 
        Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); 
        connection = DriverManager.getConnection("proxool.qxgldb"); 
    } catch (SQLException e) { 
        log.error("通过Proxool连接池获取数据库连接出错!", e); 
    } catch (ClassNotFoundException e) { 
        log.error("加载数据库驱动出错,未找到相应的class。",e); 
    } 
    return connection; 
}<pre></pre> 
如何与spring结合呢?我的是spring2.0.8
     <!-- 通过proxool来配置数据源 -->
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName"
            value="org.logicalcobwebs.proxool.ProxoolDriver" />
        <property name="url"
            value="proxool.qxgldb" />
            <!-- 
        <property name="username" value="sa" />
        <property name="password" value="sa" /> -->
    </bean>    

log4j.xml的配置
    <appender name="LogToFileProxool"
        class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="d:/logs/proxool.log" />
        <param name="MaxFileSize" value="1MB" />
        <param name="MaxBackupIndex" value="10" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%-5p (%C:%L) %d{yyyy-MM-dd_HH:mm:ss}- %m%n" />
        </layout>
    </appender>   

    <logger name="org.logicalcobwebs.proxool" additivity="false">
        <level value="DEBUG" />
        <appender-ref ref="LogToFileProxool" />
    </logger>

如何与润乾报表结合呢?

[XML] view plaincopy
<reportconfig> 
    <jdbc-ds-configs> 
        <jdbc-ds-config> 
            <name>dsqxglnew</name> 
            <db-type>2</db-type> 
            <connection-url>proxool.qxgldb</connection-url> 
            <driver-class>org.logicalcobwebs.proxool.ProxoolDriver</driver-class> 
            <user-name>sa</user-name> 
            <password>sa</password> 
            <db-charset>GBK</db-charset> 
            <client-charset>GBK</client-charset> 
        </jdbc-ds-config> 
    </jdbc-ds-configs> 
     
    <config> 
      <name>logConfig</name> 
      <value>/WEB-INF/runqianReportLog.properties</value> 
    </config> 
    <config> 
      <name>license</name> 
      <value>runqianWindowServer.lic</value> 
    </config> 
    <config> 
      <name>reportFileHome</name> 
      <value>/reportFiles</value> 
    </config> 
    <config> 
      <name>semanticsFile</name> 
      <value>/WEB-INF/runqianSemanticFile.xml</value> 
    </config> 
    <!--   
    <config> 
      <name>JNDIPrefix</name> 
      <value>java:</value> 
    </config> 
    <config> 
      <name>dataSource</name> 
      <value>dsqxglnew,SQLSVR,GBK,0;</value> 
    </config> 
    <config> 
      <name>jspCharset</name> 
      <value>GBK</value> 
    </config> 
    --> 
    <config> 
      <name>alwaysReloadDefine</name> 
      <value>yes</value> 
    </config> 
    <config> 
      <name>cachedParamsTimeout</name> 
      <value>120</value> 
    </config> 
    <config> 
      <name>cachedReportDir</name> 
      <value>D:/logs</value> 
    </config> 
    <config> 
      <name>cachedIdPrefix</name> 
      <value>A</value> 
    </config> 
    <config> 
      <name>cachedReportTimeout</name> 
      <value>30</value> 
    </config> 
    <config> 
      <name>maxCellNum</name> 
      <value></value> 
    </config> 
    <config> 
      <name>maxConcurrentForReport</name> 
      <value>9999</value> 
    </config> 
    <config> 
      <name>maxWaitForReport</name> 
      <value>9999</value> 
    </config> 
    <config> 
      <name>maxWaitTimeForReport</name> 
      <value>9999</value> 
    </config> 
    <config> 
      <name>appUrlPrefix</name> 
      <value></value> 
    </config> 
    <config> 
      <name>errorPage</name> 
      <value>/myErrorPage.jsp</value> 
    </config> 
</reportconfig> 
<pre></pre> 
分享到:
评论

相关推荐

    proxool 0.9.0RC3连接池配置的案例

    本篇将深入探讨Proxool 0.9.0RC3版本的配置与使用方法。 一、Proxool简介 Proxool是Proxy JDBC Pool的缩写,它通过创建数据库连接的代理来实现连接池。该框架的主要优点包括:轻量级、易于集成、支持多种数据库、...

    proxool-0.9.0RC3

    3. **成熟稳定**:作为0.9.0RC3版本,proxool已经经过了大量的测试和实际应用,具有较高的稳定性和可靠性。 4. **跨平台支持**:proxool支持多种数据库,包括Oracle、MySQL、PostgreSQL等,这使得它能够在多种环境...

    proxool-0.9.0RC3.jar

    "proxool-0.9.0RC3.jar" 是一个Java档案文件,它包含了Proxool库的0.9.0RC3版本。Proxool是开源的Java连接池实现,设计用于提供数据库连接管理服务,它使得在多线程环境中高效地管理和重用数据库连接成为可能。连接...

    Hibernate Proxool连接池配置总结及常遇问题

    首先,需要在项目中引入Proxool的JAR包,如`proxool-0.9.0RC3.jar`。这通常通过Maven或Gradle等构建工具完成,确保在类路径中包含该库。 **(2)Hibernate配置** 在`Hibernate.hbm.xml`配置文件中,添加Proxool...

    proxool-0.9.0RC3.jar,mysql-connector-java-5.1.6-bin.jar

    首先,通过`mysql-connector-java-5.1.6-bin.jar`驱动建立Java应用与MySQL数据库的连接,然后利用Proxool-0.9.0RC3.jar的连接池管理功能,提高系统的并发性能和资源利用率。同时,开发者还可以通过Proxool的监控和...

    proxool-0.9.0RC3(含源码)

    `proxool-0.9.0RC3(含源码)` 是一个早期版本的 Java 数据库连接池实现,它在当时被广泛使用并被认为在性能上优于其他流行的连接池如 c3p0 和 dbcp。数据库连接池是 Java 应用程序管理数据库连接的一种高效方式,它...

    proxool-0.9.0RC3.zip_Java编程_Java_

    标题中的"proxool-0.9.0RC3.zip"指的是Proxool的一个特定版本,即0.9.0候选发布3版。这个版本的压缩包包含了Proxool的主要库文件,即"proxool-0.9.0RC3.jar",它是使用Java编程语言编写的,因此适用于Java开发环境。...

    hibernate配置连接池大全

    三、配置Proxool连接池 Proxool是Apache的一个开源项目,提供了一个轻量级的数据库连接池。以下是配置Hibernate使用Proxool的步骤: 1. 添加依赖:在项目的类路径下添加Proxool的JAR包,如`proxool-0.9.0RC3.jar`。...

    hibernate连接池配置及SQLJDBC.jar JNDA.JAR

    资源包括hibernate Sql server2005连接池配置源码,及sqlserverjdbc.jar jTDS3.jar jtds-1.2.jar ojdbc14.jar proxool-0.9.0RC3.jar 等jar包,希望能帮大家一些忙

    hibernate配置连接池

    1. 添加依赖:首先,在项目的类路径下添加Proxool的JAR文件,如压缩包“proxool-0.9.0RC3.zip”中的库文件。如果是Maven项目,可以在pom.xml文件中添加对应的依赖。 2. 配置Hibernate属性:在Hibernate的配置文件...

    proxool源码以及相关api

    **Proxool源码分析与API详解** Proxool是一个开源的Java数据库连接池实现,它为...通过`proxool-0.9.0RC3`这个版本,开发者可以进一步研究其源码,了解各个类的功能和交互,从而在实际项目中得心应手地运用Proxool。

    dbutils和proxool的jar

    `proxool`是一个开源的数据库连接池实现,它的全称为Proxy Pool,版本为0.9.0RC3。数据库连接池是一种有效的资源管理策略,它可以复用已建立的数据库连接,避免频繁地创建和销毁连接,从而提高应用性能并降低系统...

    tomcat6.0连接池

    `proxool-0.9.0RC3.jar`是Proxool的库文件。 4. **MySQL Connector/J**: `mysql-connector-java-3.1.12-bin.jar`是MySQL数据库的JDBC驱动,用于Java程序连接到MySQL数据库。在配置连接池时,需要这个驱动来建立与...

    新闻系统开发教程.pdf

    为了与数据库交互,需要引入MySQL的JDBC驱动(mysql-connector-java-5.0.3-bin.jar)和数据连接池(proxool-0.9.0RC3.jar)。在NetBeans中,可以通过添加库来导入这些jar文件,并配置连接池的XML文件(proxool.xml)...

    新闻系统开发教程.docx

    2. 为了程序访问数据库,需要引入MySQL的JDBC驱动(mysql-connector-java-5.0.3-bin.jar)和数据连接池(proxool-0.9.0RC3.jar)。 3. 在WEB-INF目录下创建连接池配置文件`proxool.xml`,配置数据库连接的相关属性,...

    java写的可配置的抽奖程序源码,所对应的类库集合

    3. proxool-0.9.0RC3.jar:Proxool 是一个数据库连接池,它提供了灵活的、可配置的数据库连接管理方案。在抽奖程序中,可能用于管理数据库连接,确保高效地访问和更新抽奖数据库。 4. log4j-1.2.9.jar:Log4j 是一...

    Java的ActiveRecord框架原码及依赖包放出

    3. `proxool-0.9.0RC3-fix.jar`: Proxool是一个轻量级的JDBC连接池,它提供了连接池的管理和监控功能。与`dbpool-1.2.1.jar`类似,Proxool也用于管理数据库连接,通过池化技术优化数据库资源的使用。 4. `mysql-...

    网盟JSP留言本 v1.0_wangmengjezz(毕设 + 课设).zip

    最后,`proxool-0.9.0RC3.jar`是一个数据库连接池库,Proxool是一个开源的数据库连接池,它可以有效地管理和复用数据库连接,提高系统的性能和稳定性。在Java Web应用中,使用数据库连接池可以显著减少数据库连接...

    预警系统

    4. **Proxool-0.9.0RC3.jar** - Proxool是一个数据库连接池,用于高效管理数据库连接,提高多用户环境下的数据库访问性能。 5. **Quartz-all-1.5.2.jar** - Quartz是Java的一个作业调度框架,用于计划和执行周期性...

Global site tag (gtag.js) - Google Analytics