文档章节

hibernate + dbcp

0o明天会更好o0
 0o明天会更好o0
发布于 2015/04/22 12:09
字数 320
阅读 21
收藏 0


之前的数据源配置信息如下


    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driverClassName}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="maxActive" value="${jdbc.maxActive}"/>
        <property name="maxIdle" value="${jdbc.maxIdle}"/>
        <property name="maxWait" value="${jdbc.maxWait}"/>
        <property name="poolPreparedStatements" value="true"/>
        <property name="defaultAutoCommit" value="true"/>
        <property name="testOnBorrow" value="true"/>
        <property name="maxOpenPreparedStatements" value="900"/>
    </bean>


解决方案目前有两种方法可以解决oracle游标超出300的错误。


1、从poolPreparedStatements后,删除所有的节点替换为如下的属性

        <!-- 连接被泄露时是否打印 -->  
        <property name="logAbandoned" value="true"/>  
        <!--removeAbandoned: 是否自动回收超时连接-->    
        <property name="removeAbandoned"  value="true"/>  
        <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->    
        <property name="removeAbandonedTimeout" value="10"/>  
        <!-- 在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. -->  
        <property name="timeBetweenEvictionRunsMillis" value="10000"/>  
        <!--  在每次空闲连接回收器线程(如果有)运行时检查的连接数量 -->  
        <property name="numTestsPerEvictionRun" value="10"/>  
        <!-- 1000 * 60 * 30  连接在池中保持空闲而不被空闲连接回收器线程-->  
        <property name="minEvictableIdleTimeMillis" value="10000"/>


2、poolPreparedStatements属性设置为false,删除

 <property name="poolPreparedStatements" value="false"/>
<property name="maxOpenPreparedStatements" value="900"/>


问题解决了,如下图


© 著作权归作者所有

共有 人打赏支持
0o明天会更好o0
粉丝 1
博文 1
码字总数 320
作品 0
海淀
高级程序员
Hibernate dbcp连接池使用方法

这里介绍Hibernate dbcp连接池,使用dbcp,开发人员还需要将commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar两个jar包加入到classpath中。 AD: Hibernate有很多值得学习的地方,这里我们主要...

dong.li
2012/04/24
0
0
Hibernate连接配置方法剖析

这里介绍Hibernate连接配置方法,包括介绍在c3p0和dbcp中,都是必需的,因为Hibernate会根据上述的配置来生成connections,再交给c3p0或dbcp管理.但是,proxool则不能。 AD: Hibernate有很多...

dong.li
2012/04/24
0
0
hibernate 连接池 转

Hibernate支持DBCP包进行数据库连接池的配置。简要说明配置过程: (仅仅是个人摸索,如有问题,欢迎指点) 需要的包: Commons-Pool (下载地址:http://jakarta.apache.org/commons/pool/):...

asdtiang
2010/02/22
0
0
数据库连接池DBCP和C3P0的使用

hibernate开发组推荐使用c3p0; spring开发组推荐使用dbcp; hibernate in action推荐使用c3p0; 一. dbcp 在数据库服务器强行关闭连接或数据库服务重启后,无法reconnect 二. dbcp 连接池的创建...

mn_1127
2015/08/27
0
0
Spring连接数据库的几种常用的方式

Dao测试类 @Test public void test() throws Exception { //获取上下文对象 ApplicationContext ctx = new ClassPathXmlApplicationContext("/spring-config/applicationContext.xml"); //获......

Rickxue
2015/12/08
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

阿里开源的 java 诊断工具—— Arthas

Arthas 是 阿里巴巴最近开源出来的一个针对 java 的工具,主要是针对 java 的问题进行诊断! 一、概述 这个工具可以协助你做下面这些事情: 这个类是从哪个 jar 包加载而来的? 为什么会报各...

xiaomin0322
23分钟前
2
0
去除shell read 读取的最后一个字符

# 读取管道数据cat | while read line; do echo $line # 此时 line包含 \n or \r\ndone# 去除 read 读取的特殊字符line=${line%?} # 去除最后一个字符...

tigerBin
24分钟前
1
0
Qt之listView设置编辑状态

QListView默认是可以编辑的,可以用setEditTrigers设置QListView的条目是否可以编辑,以及如何进入编辑状态。比如: ui->listView->setEditTriggers(QAbstractItemView::DoubleClicked | QAb...

OceanStar
24分钟前
1
0
Linux批量替换

sed -i "s/http://cache.co188.com///image.co188.com/g" grep http:\/\/image.co188.com -rl . *.html sed -i "s/http://cache.co188.com///cache.co188.com/g" grep http:\/\/cache.co188.......

cpaku
34分钟前
1
0
设置plsql永久注册码

填写注册码: Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number:601769 password:xs374ca...

小橙子的曼曼
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部