liqunkukuli 2016-07-14 01:00 采纳率: 0%
浏览 1083

SSH双数据源运行一段时间 ,远程数据库连接卡死

<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"
default-autowire="byName">

<bean id="dataSource_oracle" class="com.mchange.v2.c3p0.ComboPooledDataSource">

    <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property>
    <property name="jdbcUrl" value="jdbc:oracle:oci:@AA"></property>
    <property name="user" value="zzgh"></property>
    <property name="password" value="zzgh"></property>
        <!--连接池中保留的最大连接数 -->
    <property name="maxPoolSize" value="200"></property>
    <!--连接池中保留的最小连接数 -->
    <property name="minPoolSize" value="5"></property>
    <!--初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值 -->
    <property name="initialPoolSize" value="10"></property>
    <!--隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查 -->
    <property name="idleConnectionTestPeriod" value="30"></property>
    <!--最大空闲时间,超过空闲时间的连接将被丢弃 -->
    <property name="maxIdleTime" value="120"></property>
    <!--当连接池中的连接用完时,C3P0一次性创建新连接的数目 -->
    <property name="acquireIncrement" value="3"></property>
    <!--从数据库获取新连接失败后重复尝试获取的次数 -->
    <property name="acquireRetryAttempts" value="10"></property>
    <!--两次连接中间隔时间,单位毫秒 -->
    <property name="acquireRetryDelay" value="1000"></property>
    <!--连接关闭时默认将所有未提交的操作回滚 -->
    <property name="autoCommitOnClose" value="false"></property>
    <!--用以控制数据源内加载的PreparedStatement数量 -->
    <property name="maxStatements" value="0"></property>
</bean>





org.hibernate.dialect.OracleDialect
true
org.springframework.orm.hibernate4.SpringSessionContext



    <property name="jdbcUrl" value="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=AOTUREGISTER" />
    <property name="user" value="sa"></property>
    <property name="password" value="123321"></property>
    <!--连接池中保留的最大连接数 -->
    <property name="maxPoolSize" value="200"></property>
    <!--连接池中保留的最小连接数 -->
    <property name="minPoolSize" value="5"></property>
    <!--初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值 -->
    <property name="initialPoolSize" value="10"></property>
    <!--隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查 -->
    <property name="idleConnectionTestPeriod" value="30"></property>
    <!--最大空闲时间,超过空闲时间的连接将被丢弃 -->
    <property name="maxIdleTime" value="120"></property>
    <!--当连接池中的连接用完时,C3P0一次性创建新连接的数目 -->
    <property name="acquireIncrement" value="3"></property>
    <!--从数据库获取新连接失败后重复尝试获取的次数 -->
    <property name="acquireRetryAttempts" value="10"></property>
    <!--两次连接中间隔时间,单位毫秒 -->
    <property name="acquireRetryDelay" value="1000"></property>
    <!--连接关闭时默认将所有未提交的操作回滚 -->
    <property name="autoCommitOnClose" value="false"></property>
    <!--用以控制数据源内加载的PreparedStatement数量 -->
    <property name="maxStatements" value="0"></property>
</bean>





org.hibernate.dialect.SQLServerDialect

        <prop key="hibernate.current_session_context_class">thread</prop>   
        </props>
    </property>
    <property name="mappingDirectoryLocations">
        <list>
            <value>classpath:com/jn/entity</value>
        </list>
    </property>

<!-- 声明式事务 -->
<bean id="txManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>

</bean>
<tx:annotation-driven transaction-manager="txManager" proxy-target-class="true" />

bean配置








  • 写回答

1条回答

  • little_how 2016-07-14 02:19
    关注

    建议在数据库中检查是否是连接数已满导致的连接卡死?
    如果是,那么应该就是有连接没有关闭,可能造成没有关闭的原因是,
    方法在没有被spring事务接管的情况下没有主动关闭获取的连接导致。

    如果有帮助,希望结帖

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题