ssh2的proxool连接池问题
我的hibernate.cfg.xml如下:<session-factory>
<!-- 主要采用了数据源proxool来控制整个数据库的连接  -->
<property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<property name="proxool.pool_alias">MDiscourse</property>
<property name="proxool.xml">ProxoolConf.xml</property>
<property name="hibernate.proxool.existing_pool">true</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property> <mapping resource="cn/edu/gdut/beans/User.hbm.xml" /></session-factory>proxool连接池配置如下:<proxool>
<alias>MDiscourse</alias>
<!--proxool只能管理由自己产生的连接-->
<driver-url>jdbc:mysql://localhost:3306/hibernate</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="Nithan0916" />
</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>30</minimum-connection-count>
</proxool>ApplicationContext.xml配置如下: <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="configLocation">
  <value>classpath:hibernate.cfg.xml</value>
  </property>
  </bean>  
  <import resource="dao-services.xml" /> 
  <import resource="services-services.xml" />mysql的驱动都在路径下。启动tomcat出现如下错误:
19:42:10,039  INFO ProxoolConnectionProvider:104 - Configuring Proxool Provider using existing pool in memory: proxool.MDiscourse
19:42:10,040  INFO ProxoolConnectionProvider:166 - autocommit mode: false
19:42:10,085  WARN SettingsFactory:117 - Could not obtain connection metadata
java.sql.SQLException: No suitable driver found for proxool.MDiscourse
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at org.hibernate.connection.ProxoolConnectionProvider.getConnection(ProxoolConnectionProvider.java:53)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
实在是搞不明白是怎么回事。PS:Hibernate的配置文件和proxool的配置文件都在src目录下。
请各位大虾指教!!!急!!!

解决方案 »

  1.   

    <property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property> 
    <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
    <property name="show_sql">true</property>
    <property name="hibernate.proxool.pool_alias">fos</property>
    <property name="hibernate.proxool.properties">proxool.properties</property> proxool.properties 文件jdbc-0.proxool.alias=fos
    jdbc-0.proxool.driver-class=oracle.jdbc.driver.OracleDriver
    jdbc-0.proxool.driver-url=jdbc:oracle:thin:@172.18.26.95:1521:orafii
    jdbc-0.user=fiikh
    jdbc-0.password=fiikh
    jdbc-0.proxool.house-keeping-sleep-time=40000
    jdbc-0.proxool.house-keeping-test-sql=selectCURRENT_DATE
    jdbc-0.proxool.maximum-connection-count=5
    jdbc-0.proxool.minimum-connection-count=1
    jdbc-0.proxool.maximum-connection-lifetime=600000
    jdbc-0.proxool.simultaneous-build-throttle=5
    jdbc-0.proxool.recently-started-threshold=40000
    jdbc-0.proxool.overload-without-refusal-lifetime=50000
    jdbc-0.proxool.maximum-active-time=60000
    jdbc-0.proxool.prototype-count=4
    jdbc-0.proxool.verbose=true
    jdbc-0.proxool.trace=true
    jdbc-0.proxool.fatal-sql-exception=Fatalerror
    我的应用,参考一下