- 浏览: 432675 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
shenselongge:
/**
* Flips this buff ...
java.nio.Buffer flip()方法jdk中文翻译错误 -
tonyyan:
感谢,清晰了很多。
java.nio.Buffer flip()方法jdk中文翻译错误 -
frangejct:
jdluojing 写道你的说法也不完整,buffer中的 ...
java.nio.Buffer flip()方法jdk中文翻译错误 -
victor0535:
关于这段话,我有不同看法:2)如果instance变量是一个对 ...
Java线程同步机制synchronized关键字的理解 -
josico:
如果没有前台页面 只是作为服务端提供HTTP接口的话 可不可以 ...
Apache与Tomcat的区别
转自[url] http://wt8414.iteye.com/blog/242628 [/url]收藏参考
基于ssh的proxool连接池配置
环境:MyEclipse6.0,win xp,oracle,mysql
配置文件
1:applicationContext.xml
配置文件
2:/WEB-INF/proxool.xml
配置文件
3:web.xml
基本配置就这些,以前在根据网上所说的很多利用spring直接管理proxool的方法来实现,这种方法也可以,但有几点问题,1.mysql连接的URL:jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=GBK中间的&符号,在xml中使用&来代替,但我在做测试时发现这样做不行,spring在启动时会报没有这样的驱动,还有些根本就是错误的估计是在网上转来转去,没经过测试就发表的.
关于连接释放,在applicationContext.xml中绝对有必要增加hibernate.connection.release_mode这一参数,而且比较的好的设置应该是after_statement,另一种是after_transaction,而使用after_statement优于after_transaction原因是避免了在一个事务结束后连接就释放,大家可以试一下先将这个参数去掉,运几次数据库操作,会发现产了生很多连接没有释放,大概大30秒至15秒之间可以释放有时会更长,然后在加上这个参数测试.
这个是我在自己机器上测试过的,报什么错呀?
基于ssh的proxool连接池配置
环境:MyEclipse6.0,win xp,oracle,mysql
配置文件
1:applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><!-- 数据源类采用JDBC数据源 --> <property name="driverClassName"> <!-- 将数据库连接交给了proxool管理,使它的驱动 --> <value>org.logicalcobwebs.proxool.ProxoolDriver</value> </property> <property name="url"> <!-- 数据库连接池的别名,与你的proxool.xml中的Alias必须一致 --> <value>proxool.DbPool</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.connection.autocommit">true</prop> <prop key="hibernate.show_sql">true</prop> <!-- 此处要注意因为proxool自己释放数据库连接比慢,所以要在此给出释放连接的模式,具体几种模式对应的意思,可以Google一下hibernate.connection.release_mode,有很多说明,在此不多说 --> <prop key="hibernate.connection.release_mode"> after_statement </prop> </props> </property> <property name="mappingResources"> <list> <value>cn/wt/vo/Admin.hbm.xml</value> <value>cn/wt/vo/User.hbm.xml</value> <value>cn/wt/vo/Workdate.hbm.xml</value> </list> </property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="adminDao" class="cn.wt.dao.AdminDao" abstract="true" /> <bean id="adminDaoImpl" class="cn.wt.dao.impl.AdminDaoImpl" parent="adminDao"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate" /> </property> </bean> <bean id="workDateDao" class="cn.wt.dao.WorkDateDao" abstract="true" /> <bean id="workDateDaoImpl" class="cn.wt.dao.impl.WorkDateDaoImpl" parent="workDateDao"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate" /> </property> </bean> <bean id="userDao" class="cn.wt.dao.UserDao" abstract="true" /> <bean id="userDaoImpl" class="cn.wt.dao.impl.UserDaoImpl" parent="userDao"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate"/> </property> </bean> <bean name="/adminAction" class="cn.wt.struts.action.AdminAction"> <property name="adminDao"> <ref bean="adminDaoImpl" /> </property> </bean> <bean name="/workdateAction" class="cn.wt.struts.action.WorkdateAction"> <property name="workDateDao"> <ref bean="workDateDaoImpl" /> </property> <property name="userDao"> <ref bean="userDaoImpl"/> </property> </bean> </beans>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><!-- 数据源类采用JDBC数据源 --> <property name="driverClassName"> <!-- 将数据库连接交给了proxool管理,使它的驱动 --> <value>org.logicalcobwebs.proxool.ProxoolDriver</value> </property> <property name="url"> <!-- 数据库连接池的别名,与你的proxool.xml中的Alias必须一致 --> <value>proxool.DbPool</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.connection.autocommit">true</prop> <prop key="hibernate.show_sql">true</prop> <!-- 此处要注意因为proxool自己释放数据库连接比慢,所以要在此给出释放连接的模式,具体几种模式对应的意思,可以Google一下hibernate.connection.release_mode,有很多说明,在此不多说 --> <prop key="hibernate.connection.release_mode"> after_statement </prop> </props> </property> <property name="mappingResources"> <list> <value>cn/wt/vo/Admin.hbm.xml</value> <value>cn/wt/vo/User.hbm.xml</value> <value>cn/wt/vo/Workdate.hbm.xml</value> </list> </property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="adminDao" class="cn.wt.dao.AdminDao" abstract="true" /> <bean id="adminDaoImpl" class="cn.wt.dao.impl.AdminDaoImpl" parent="adminDao"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate" /> </property> </bean> <bean id="workDateDao" class="cn.wt.dao.WorkDateDao" abstract="true" /> <bean id="workDateDaoImpl" class="cn.wt.dao.impl.WorkDateDaoImpl" parent="workDateDao"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate" /> </property> </bean> <bean id="userDao" class="cn.wt.dao.UserDao" abstract="true" /> <bean id="userDaoImpl" class="cn.wt.dao.impl.UserDaoImpl" parent="userDao"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate"/> </property> </bean> <bean name="/adminAction" class="cn.wt.struts.action.AdminAction"> <property name="adminDao"> <ref bean="adminDaoImpl" /> </property> </bean> <bean name="/workdateAction" class="cn.wt.struts.action.WorkdateAction"> <property name="workDateDao"> <ref bean="workDateDaoImpl" /> </property> <property name="userDao"> <ref bean="userDaoImpl"/> </property> </bean> </beans>
配置文件
2:/WEB-INF/proxool.xml
<?xml version="1.0" encoding="iso-8859-1"?> <!-- the proxool configuration can be embedded within your own application's. Anything outside the "proxool" tag is ignored. --> <something-else-entirely> <proxool> <alias>DbPool</alias> //与applicationContext.xml中url一致 <driver-url>jdbc:mysql://localhost:3306/mysql</driver-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <driver-properties> <property name="user" value="root" /> <property name="password" value="123" /> <property name="useUnicode" value="true" /> <property name="characterEncoding" value="GBK" /> </driver-properties> <minimum-connection-count>5</minimum-connection-count> <maximum-connection-count>50</maximum-connection-count> <maximum-active-time>60000</maximum-active-time> <house-keeping-test-sql>select 1</house-keeping-test-sql> <prototype-count>5</prototype-count> <house-keeping-sleep-time>60000</house-keeping-sleep-time> </proxool> </something-else-entirely>
<?xml version="1.0" encoding="iso-8859-1"?> <!-- the proxool configuration can be embedded within your own application's. Anything outside the "proxool" tag is ignored. --> <something-else-entirely> <proxool> <alias>DbPool</alias> //与applicationContext.xml中url一致 <driver-url>jdbc:mysql://localhost:3306/mysql</driver-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <driver-properties> <property name="user" value="root" /> <property name="password" value="123" /> <property name="useUnicode" value="true" /> <property name="characterEncoding" value="GBK" /> </driver-properties> <minimum-connection-count>5</minimum-connection-count> <maximum-connection-count>50</maximum-connection-count> <maximum-active-time>60000</maximum-active-time> <house-keeping-test-sql>select 1</house-keeping-test-sql> <prototype-count>5</prototype-count> <house-keeping-sleep-time>60000</house-keeping-sleep-time> </proxool> </something-else-entirely>
配置文件
3:web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/applicationContext.xml </param-value> </context-param> <servlet> <servlet-name>proxoolServletConfigurator</servlet-name> <servlet-class> org.logicalcobwebs.proxool.configuration.ServletConfigurator </servlet-class> <init-param> <param-name>xmlFile</param-name> <param-value>/WEB-INF/proxool.xml</param-value> </init-param> <!-- 由于proxool要先加载,所以启动优先级要比spring高,否则在spring加载时会报错 --> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>context</servlet-name> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet> <!-- 数据库连接监控器 --> <servlet-name>proxoolAdmin</servlet-name> <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>proxoolAdmin</servlet-name> <url-pattern>/proxoolAdmin</url-pattern> </servlet-mapping> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/applicationContext.xml </param-value> </context-param> <servlet> <servlet-name>proxoolServletConfigurator</servlet-name> <servlet-class> org.logicalcobwebs.proxool.configuration.ServletConfigurator </servlet-class> <init-param> <param-name>xmlFile</param-name> <param-value>/WEB-INF/proxool.xml</param-value> </init-param> <!-- 由于proxool要先加载,所以启动优先级要比spring高,否则在spring加载时会报错 --> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>context</servlet-name> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet> <!-- 数据库连接监控器 --> <servlet-name>proxoolAdmin</servlet-name> <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>proxoolAdmin</servlet-name> <url-pattern>/proxoolAdmin</url-pattern> </servlet-mapping> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
基本配置就这些,以前在根据网上所说的很多利用spring直接管理proxool的方法来实现,这种方法也可以,但有几点问题,1.mysql连接的URL:jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=GBK中间的&符号,在xml中使用&来代替,但我在做测试时发现这样做不行,spring在启动时会报没有这样的驱动,还有些根本就是错误的估计是在网上转来转去,没经过测试就发表的.
关于连接释放,在applicationContext.xml中绝对有必要增加hibernate.connection.release_mode这一参数,而且比较的好的设置应该是after_statement,另一种是after_transaction,而使用after_statement优于after_transaction原因是避免了在一个事务结束后连接就释放,大家可以试一下先将这个参数去掉,运几次数据库操作,会发现产了生很多连接没有释放,大概大30秒至15秒之间可以释放有时会更长,然后在加上这个参数测试.
评论
3 楼
Vimesly
2011-04-01
请问楼主的spring版本的的是?
2 楼
walsh
2010-11-17
liu2511981 写道
确定对的?照做,怎么还有错?!
这个是我在自己机器上测试过的,报什么错呀?
1 楼
liu2511981
2010-11-10
确定对的?照做,怎么还有错?!
发表评论
-
Hibernate映射引用属性
2009-01-07 15:37 1943Hibernate的基本映射 映射引用属性 引用属性的意思是 ... -
Hibernate学习之-----主键生成器
2009-01-07 10:36 1575Hibernate推荐数据表采用逻辑主键,而不采用有物理含义的 ... -
利于ThreadLocal模式管理Session
2008-09-23 11:21 1381在利用Hibernate开发DAO模 ... -
HQL查询及语法
2008-09-22 16:28 2662HQL:Hibernate Query Language HQ ... -
Hibernate各种异常解决方案
2008-09-22 14:38 1513问题提示: 异常1:org.hibernate.Propert ... -
Hibernate编写通用数据库操作代码演示
2008-09-20 11:24 1197insert方法 public void insert(Ob ... -
学习笔记之什么是持久化和对象关系映射ORM技术
2008-09-20 11:04 2115何谓“持久化” 持久(Persistence),即把数据(如内 ... -
Hibernate的核心接口学习
2008-09-19 11:15 1348本文摘自孙卫琴的《精通Hibernate:Java对象持久化技 ... -
使用Hibernate向Oracle中插入数据
2008-09-19 10:47 1932Hibernate是ORMapping的实现,通过一个类实现数 ... -
Java开源项目Hibernate快速入门
2008-09-19 10:43 1454其实Hibernate本身是个独 ... -
Hibernate学习笔记(一)--------hibernate.cfg.xml配置文件的具体配置
2008-09-19 10:23 2245一、首先学习hibernate.cfg.xml配置文件的具体配 ... -
hibernate入门使用系列 说明篇+快速构建篇
2008-09-03 13:54 1491转载:http://www.iteye.com/topic/1 ... -
如何学习Hibernate
2008-08-31 23:33 1889如何学习Hibernate 文章 ...
相关推荐
文件`Spring3+Hibernate+Proxool_lj配置试验成功.txt`表明Spring3和Hibernate已经成功地集成了Proxool,这可能涉及到了Spring的`DataSource`配置,通过`<bean>`标签定义一个数据源,然后在Hibernate配置中引用它。...
Struts2.2.3、Spring2.5.6、Hibernate3.2和Proxool0.9.1是四个重要的Java技术组件,它们在Web应用程序开发中扮演着关键角色。这个压缩包文件包含了这些技术的集成示例,旨在帮助开发者理解和实践如何将它们有效地...
在"Spring+proxool+hibernate+struts2+aop"的整合中,Spring负责整体的依赖管理和事务控制,Struts2处理请求转发和视图展示,Hibernate处理数据库操作,而AOP则用来实现跨切面的关注点。 在提供的"Spring+proxool+...
**Spring+Proxool+Hibernate+Struts2+AOP整合详解** 在Java Web开发中,Spring、Proxool、Hibernate、Struts2和AOP(面向切面编程)是常用的框架和技术,它们各自承担着不同的职责,组合使用可以构建出高效、可维护...
本项目采用当前主流的MVC和IOC框架spring 3、优秀的ORM框架hibernate和超级厉害的proxool数据库连接池。这个工程demo,是本人在企业应用中的项目缩影,绝对实用于企业的应用。 适合朋友: 1.一直用单独的servlet和...
proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿google人名自动补全;头像上传剪切压缩处理。 包含有完整的jar包和源代码,这是专门为我们实验室定制开发的,包含了架构基于s2sh技术...
本文将详细介绍如何在Struts2+Spring+Hibernate的环境中配置Proxool连接池。 首先,理解Proxool的工作原理。Proxool是一个基于池化的JDBC代理,它维护着一个数据库连接池,当应用需要访问数据库时,可以从池中获取...
Extjs3.2+struts2.0+spring2.5+hibernate3.5+weblogic10+oracle10g 第4部分
在完成上述配置后,需要进行集成测试,确保请求能够正确地通过Struts2控制器,调用Spring管理的Service,再由Service调用Hibernate的DAO,最后正确地与数据库进行交互。 整合Struts2、Spring和Hibernate可以实现...
本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...
struts2.2.1 spring2.5.6 proxool0.9.1 jstl1.2 说明:demo实现了最简单的取值,数据库操作。 没有使用hibernate和ibatis。自己写了个基类,包装了获取链接和释放链接。 从action返回后,使用了jstl获取action中的...
proxool_cofig.xml为连接池配置 此项目可做基础项目开发原型方便,启动此项目在weblogic10中会有antlr-2.7.6rc1.jar此包的异常请配置其先加载并将次包考入 bea\wlserver_10.0\server\lib目录下,再将bea\user_projects...
本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...
本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...
《Spring3+Hibernate3+Proxool+jstl+Oracle整合详解》 在现代Java Web开发中,集成各种框架以实现高效、灵活的应用程序已成为常态。本示例代码结合了Spring 3.0.4、Hibernate 3.5.0、Proxool 0.9.1、jstl,并利用...
本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...
Struts2+Spring3+HibernateBBS源码lib2.rar是一个经典的Java Web开发示例,它结合了三个流行的技术框架:Struts2、Spring3和Hibernate,用于构建一个基于论坛的Web应用程序。这个压缩包包含了运行该应用所需的核心库...
在IT行业中,集成Struts2、Hibernate3.2和Spring2.5这三大框架是构建高效、可维护的企业级Web应用程序的常见选择。这三者分别负责MVC(Model-View-Controller)架构中的表现层、持久化层和业务逻辑层的管理。下面将...
以上步骤完成后,Struts2、Hibernate3.2、Spring2.5与Proxool的整合就完成了。这样的整合不仅使得系统能高效地管理数据库连接,还通过Spring实现了依赖注入,提高了代码的可测试性和可维护性。同时,Struts2处理用户...