• 连接池报错 Proxool Provider unable to load JAXP configurator file: proxool.xml


    上篇博文讲到简易配置 proxool 连接池:http://www.cnblogs.com/linnuo/p/7232380.html

    由于把说明注释留在了 proxool.xml 配置文件里导致配置后报错,原因如下:

    hibernate.cfg.xml 代码片段:

    <session-factory>
        <property name="show_sql">true</property>
        <property name="generate_statistics">false</property>
        <property name="connection.useUnicode">true</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
            
        <property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>  
        <property name="hibernate.proxool.xml">proxool.xml</property>  
        <property name="hibernate.proxool.pool_alias">mysqldb</property>        
    </session-factory>

    proxool.xml 完整代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- the proxool configuration can be embedded within your own application's.
    Anything outside the "proxool" tag is ignored. -->
    <something-else-entirely>
    <proxool>
    <!--连接池的别名-->
    <alias>mysqldb</alias>
    <!--proxool只能管理由自己产生的连接-->
    <driver-url>jdbc:mysql://127.0.0.1:3306/ucom?useUnicode=true&amp;characterEncoding=UTF8</driver-url>
    <!-- JDBC驱动程序 -->
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <driver-properties>
    <property name="user" value="root"/>
    <property name="password" value="gdyl2017"/>
    </driver-properties>
    <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
    <house-keeping-sleep-time>90000</house-keeping-sleep-time>
    <!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->
    <maximum-new-connections>20</maximum-new-connections>
    <!-- 最少保持的空闲连接数-->
    <prototype-count>5</prototype-count>
    <!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->
    <maximum-connection-count>100</maximum-connection-count>
    <!-- 最小连接数-->
    <minimum-connection-count>10</minimum-connection-count>
    <!--  在分配连接前后是否进行有效性测试,这个是解决本问题的关键 -->
    <test-before-use>true</test-before-use>  
    <test-after-use>true</test-after-use>  
    <!-- 用于测试的SQL语句 一定要写(不知道问什么) -->  
    <house-keeping-test-sql>SELECT CURRENT_USER</house-keeping-test-sql>  
    </proxool>
    </something-else-entirely>

        以上代码放在本地运行没问题,但是放到服务器报错

      找了许久终于发现了问题:proxool.xml 文件里不能存在中文,包括注释

      

      解决方案:

        将 proxool.xml 的中文去掉即可,如下:

        

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- the proxool configuration can be embedded within your own application's.
    Anything outside the "proxool" tag is ignored. -->
    <something-else-entirely>
      <proxool>
        <alias>mysqldb</alias>
        <driver-url>jdbc:mysql://127.0.0.1:3306/ucom?useUnicode=true&amp;characterEncoding=UTF8</driver-url>
        <driver-class>com.mysql.jdbc.Driver</driver-class>
        <driver-properties>
          <property name="user" value="root"/>
          <property name="password" value="gdyl2017"/>
        </driver-properties>
        <house-keeping-sleep-time>90000</house-keeping-sleep-time>
        <maximum-new-connections>20</maximum-new-connections>
        <prototype-count>5</prototype-count>
        <maximum-connection-count>100</maximum-connection-count>
        <minimum-connection-count>10</minimum-connection-count>
        <test-before-use>true</test-before-use>  
        <test-after-use>true</test-after-use>  
        <house-keeping-test-sql>SELECT CURRENT_USER</house-keeping-test-sql>  
      </proxool>
    </something-else-entirely>

      

  • 相关阅读:
    C# 设计模式-状态模式
    C# 设计模式-备忘录模式
    C# 设计模式-命令模式
    本地易优安装总结
    视频自动添加字幕
    百度商桥安装
    百度统计
    模板
    百度地图API
    栅格布局的理解
  • 原文地址:https://www.cnblogs.com/linnuo/p/7262280.html
Copyright © 2020-2023  润新知