Hibernate使用Proxool连接池

原创:隔壁老王(http://wallimn.iteye.com),欢迎转载,转载请保留本人信息。

Hibernate版本3.5.2、Oracle版本9i、JDK版本1.6、Proxool版本0.9.1

先配制proxool,个人偏爱使用properties文件。
proxool.properties文件内容:
jdbc-0.proxool.alias=proxool-pool
jdbc-0.proxool.driver-url=jdbc:oracle:thin:@127.0.0.1:1521:ORADB
jdbc-0.proxool.driver-class=oracle.jdbc.driver.OracleDriver
jdbc-0.user=HR
jdbc-0.password=HR
jdbc-0.proxool.house-keeping-sleep-time=400000
jdbc-0.proxool.house-keeping-test-sql=select 1 from dual
jdbc-0.proxool.maximum-connection-count=80
jdbc-0.proxool.minimum-connection-count=5
jdbc-0.proxool.maximum-connection-lifetime=18000000
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.verbose=true
jdbc-0.proxool.trace=true
jdbc-0.proxool.fatal-sql-exception=Fatalerror
jdbc-0.proxool.prototype-count=2

Hibernate.cfg.xml文件内容:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>   
        <!-- jdbc setting -->
        <!--
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:ORADB</property>
        <property name="connection.username">HR</property>
        <property name="connection.password">HR</property>
        <property name="connection.pool_size">2</property>
        -->       
        <!-- proxool setting -->
        <property name="proxool.pool_alias">proxool-pool</property>
        <property name="proxool.properties">proxool.properties</property>
        <property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
        <property name="dialect">org.hibernate.dialect.Oracle9iDialect</property>
        <property name="current_session_context_class">org.hibernate.context.ManagedSessionContext</property>
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">update</property>
    <!--
        <mapping resource="com/wallimn/model/Person.hbm.xml"/>
    -->
    </session-factory>
</hibernate-configuration>

然后放入相关的jar就可以了。

注意,如果报了错:NoClassDefFoundError: org/logicalcobwebs/cglib/proxy/Callback
说明少了proxool-cglib.jar包,这个包在下载的proxool-0.9.1.zip压缩包里有,是个单独的文件。这个包在0.8.5版本时,并不是一个单独的包。

你可能感兴趣的:(oracle,sql,Hibernate,jdbc,prototype)