0 0

Spring+Hibernate+proxool为何不释放连接?10

proxool.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
	<proxool>
		<alias>dataSource</alias>
		<driver-url>jdbc:oracle:thin:@localhost:1521:test</driver-url>
		<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
		<driver-properties>
			<property name="user" value="root" />
			<property name="password" value="root1234" />
		</driver-properties>
		<test-before-use>true</test-before-use>
		<house-keeping-test-sql>select null from dual</house-keeping-test-sql>
		<house-keeping-sleep-time>90000</house-keeping-sleep-time		
		<simultaneous-build-throttle>20</simultaneous-build-throttle>
 		<maximum-connection-count>50</maximum-connection-count>
		<minimum-connection-count>5</minimum-connection-count>
		<maximum-connection-lifetime>3600000</maximum-connection-lifetime>
	</proxool>
</something-else-entirely>

 

applicationContext.xml配置如下:

 

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:security="http://www.springframework.org/schema/security"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
		http://www.springframework.org/schema/util 
        http://www.springframework.org/schema/util/spring-util-2.5.xsd">

 	<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">   
		<property name="driverClassName">    
			<value>org.logicalcobwebs.proxool.ProxoolDriver</value>    
		</property>    
		<property name="url">    
			<value>proxool.dataSource</value>
		</property>    
	</bean>    
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="myDataSource" />
		<property name="mappingLocations">
			<list>
				<value>classpath:com/domain/**/*.hbm.xml</value>
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
				<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
				<prop key="hibernate.autoReconnect">${hibernate.autoReconnect}</prop>
				<prop key="hibernate.connection.release_mode">auto</prop>
			</props>
		</property>
	</bean>

	<!-- 事务配置-->
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory"><ref bean="sessionFactory" /></property>
	</bean>
	<!-- 事务拦截器 -->
	<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<property name="transactionManager" ref="transactionManager" />
		<property name="transactionAttributes">
			<props>
				<prop key="load*">PROPAGATION_REQUIRED</prop>
				<prop key="find*">PROPAGATION_REQUIRED</prop>
				<prop key="get*">PROPAGATION_REQUIRED</prop>
				<prop key="query*">PROPAGATION_REQUIRED</prop>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="add*">PROPAGATION_REQUIRED</prop>
				<prop key="remove*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="execute*">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
	</bean>

	<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="beanNames">
			<list><value>*Service</value></list>
		</property>
		<property name="interceptorNames">
			<list>
				<value>transactionInterceptor</value>
			</list>
		</property>
	</bean>

	<!-- 配置DAO -->
	<bean id="testDao" class="com.dao.hibernate.TestrDaoImpl">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>

	<!-- 配置服务-->
	<bean id="testService" class="com.service.impl.TestServiceImpl">
		<property name="testDao" ref="testDao"/>
	</bean>
</beans>

 

TestServiceImpl 服务类代码:

public class TestServiceImpl implements TestServiceInftc {
	private TestDaoIntfc testDao;
	public void setTestDao(TestDaoIntfc testDao) {
		this.testDao= testDao;
	}
	public String queryData(){
		return testDao.selectData();
	}
}

 

TestDaoImpl类代码:

public class TestDaoImpl extends HibernateDaoSupport implements TestDaoIntfc {
	public String selectData()throws SQLException{
    		String sql = "select city_code from city where city='广州'";
		return (String)this.getSession().createSQLQuery(sql)).uniqueResult();
	}
}

 

这里的TestServiceInftc 接口和TestDaoIntfc 接口代码省略

 

监控下连接池情况,发现查询完毕后连接不会释放,当连接数达到最大就会报错,这是为什么呢?难道我的配置哪里错了吗?还是说非得手动关连接释放资源?

请教各位大哥啊~~

2011年11月06日 19:09

1个答案 按时间排序 按投票排序

0 0

我的配置和楼主的一样,楼主现在解决了吗?能否传授一下!谢谢

2012年7月12日 09:15

相关推荐

    spring3+hibernate3+proxool+mysql 超级企业J2EE DEMO(jar在下一个文件中,jar太大了)

    本项目采用当前主流的MVC和IOC框架spring 3、优秀的ORM框架hibernate和超级厉害的proxool数据库连接池。这个工程demo,是本人在企业应用中的项目缩影,绝对实用于企业的应用。 适合朋友: 1.一直用单独的servlet和...

    Struts2+spring+hibernate中的proxool连接池配置

    本文将详细介绍如何在Struts2+Spring+Hibernate的环境中配置Proxool连接池。 首先,理解Proxool的工作原理。Proxool是一个基于池化的JDBC代理,它维护着一个数据库连接池,当应用需要访问数据库时,可以从池中获取...

    Spring+Hibernate+Proxool连接池

    在Spring框架中,我们可以将Proxool配置为Hibernate的数据源,以实现数据库连接的自动获取和释放。 在描述中提到的“连接池配置文件”,通常是指像`proxoolconf.xml`这样的文件,其中包含了Proxool连接池的配置参数...

    spring3+hibernate3+proxool+jstl+oracle整合示例代码

    本示例代码结合了Spring 3.0.4、Hibernate 3.5.0、Proxool 0.9.1、jstl,并利用Oracle数据库,构建了一个不依赖Struts2的MVC架构。下面将详细介绍这个整合方案中的关键知识点。 1. **Spring 3.0.4**:作为企业级...

    struts2.2.3+spring2.5.6+hibernate3.2+proxool0.9.1

    Struts2.2.3、Spring2.5.6、Hibernate3.2和Proxool0.9.1是四个重要的Java技术组件,它们在Web应用程序开发中扮演着关键角色。这个压缩包文件包含了这些技术的集成示例,旨在帮助开发者理解和实践如何将它们有效地...

    框架整合Spring MVC3.23+Spring3.23+Hibernate4.2.3+Activiti5.16.3+Proxool连接池

    框架整合Spring MVC3.23+Spring3.23+Hibernate4.2.3+Activiti5.16.3,三层架构dao,service,controller,使用proxool连接池(已配置好监听器),默认链接mysql数据库。可根据项目开发需要,做适当修改,各项配置齐全...

    SSH (Struts2+Spring3+Hibernate3) +Proxool_亲测成功 费大劲了.zip

    SSH(Struts2+Spring3+Hibernate3)是一种常见的Java Web开发框架组合,它整合了...通过Spring管理数据源和事务,Hibernate处理数据持久化,Struts2处理用户交互,而Proxool则优化了数据库连接的使用,提高了系统性能。

    PureMVC+Flex+BlazeDS+Spring+Hibernate.doc

    标题中的“PureMVC+Flex+BlazeDS+Spring+Hibernate.doc”指的是一项整合了多种技术的Web应用开发方案,这些技术包括PureMVC、Flex、BlazeDS、Spring和Hibernate。这篇文档可能是指导读者如何将这些技术结合在一起...

    structs2+sping3+hibernate3+proxool完整实例

    `Structs2`、`Spring3`、`Hibernate3`以及`Proxool`这四个技术组件是Java Web开发中的核心工具,它们分别承担着不同的职责。在这个"sshp"压缩包中,你将找到一个完整的实例,演示了如何整合这些技术来构建一个实际的...

    springmvc+hibernate+freemarker+proxool需要的所有包

    Spring MVC、Hibernate、FreeMarker和Proxool是四个在Java Web开发中常用的技术框架和工具。下面将分别介绍这些技术及其在项目中的作用。 **Spring MVC** Spring MVC是Spring框架的一部分,是一个基于Model-View-...

    Spring+proxool+hibernate+struts2+aop整合的完整的简单项目

    整合Spring、Proxool、Hibernate、Struts2和AOP能够带来良好的代码组织、高效的数据库连接管理、方便的事务处理以及灵活的扩展性,是Java Web开发中的常见实践。通过这个简单的项目,开发者可以深入理解这些技术的...

    Spring+proxool+hibernate+struts2+aop_Jar包

    在IT行业中,Spring、Proxool、Hibernate、Struts2和AOP是五个非常关键的框架和概念,它们在企业级Java应用开发中扮演着重要角色。这些技术的整合使用可以构建出高效、灵活且可维护的Web应用程序。现在我们逐一深入...

    SSH2全注解整合(spring2.5+hibernate3.3+struts2.1+泛型DAO+proxool连接池)

    SSH2全注解整合是Java Web开发中一种高效且现代化的方法,它将Spring 2.5、Struts 2.1和Hibernate 3.3这三个流行框架的优势结合起来,以简化开发流程并提高代码的可维护性。在这个项目中,开发者通过使用注解,避免...

    jsf+spring+hibernate.pdf

    接着,配置Proxool.xml文件,这是Spring与Hibernate整合中用于管理数据库连接池的配置。在这里,我们指定了数据库的URL、驱动类、用户名和密码,以及连接池的一些参数,如最小连接数、最大连接数、连接生命周期和...

    truts2+hibernate3.2+spring2.5 proxool成步骤

    在构建企业级Java应用...最后,我们需要在Hibernate的配置中引用Spring配置的数据源,这样Hibernate就可以通过Spring获取到数据库连接。这通常通过在Hibernate的`hibernate.cfg.xml`文件中添加以下内容完成: ```xml ...

Global site tag (gtag.js) - Google Analytics