论坛首页 Java企业应用论坛

Proxool的正确配置方法

浏览 4004 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-02-21  
spring+struts2+hibernate下使用proxool的配置方法。这种情况很常见,但网上很难找到完整的配置方法,不是这里不对就是那里不对,现在将验证过的方法发上来,希望对朋友们有所帮助。

1、proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>dbpool</alias>
<driver-url>
jdbc:mysql://127.0.0.1:3306/db
</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="***" />
<property name="password" value="***" />
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<prototype-count>15</prototype-count>
<maximum-connection-count>500</maximum-connection-count>
<minimum-connection-count>30</minimum-connection-count>
<property name="hibernate.proxool.existing_pool">true</property>
<test-before-use>true</test-before-use>
<test-after-use>true</test-after-use>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
这里注意的一点就是alias,在各个配置文件中统一。

2、web.xml
增加一个servlet配置,其他不改
<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/classes/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

3、applicationcontext.xml
datasource配置
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.logicalcobwebs.proxool.ProxoolDriver</value>
</property>
<property name="url">
<value>proxool.dbpool</value>
</property>
</bean>
sessionFactory配置
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=false
hibernate.format_sql=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=false
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.proxool.xml=proxool.xml
hibernate.proxool.pool_alias=dbpool
hibernate.proxool.existing_pool=true
</value>
</property>
4、hibernate.cfg.xml的配置
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">mysql</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.proxool.existing_pool">true</property>
<property name="hibernate.proxool.xml">proxool.xml</property>
<property name="hibernate.proxool.pool_alias">dbpool</property>
注意,这个配置看似重复,但不可省略。

5、取SessionFactory的方法
configuration.configure(configFile);
sessionFactory = configuration.configure().buildSessionFactory();
注意,不可用下面的方法
//sessionFactory = configuration.buildSessionFactory();

如果这五点都注意到了,配置方面就无问题了。
   发表时间:2011-03-18  
楼主既然使用了spring,为何不让其来管理hibernate呢
0 请登录后投票
   发表时间:2011-03-29  
skcmm 写道
楼主既然使用了spring,为何不让其来管理hibernate呢

用spring来管理sessionFactory不是更方便么
0 请登录后投票
   发表时间:2011-04-04  
这样啊,惭愧!能否请楼上给个代码?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics