web项目 hibernate+spring 一段时间后访问数据库超时 60C

加缓存 过一天左右无法连接数据库,不加缓存 几分钟就不行了,缓存有没有需要修改的地方
<?xml version="1.0" encoding="UTF-8"?>

<diskStore path="java.io.tmpdir/hibernate/user" />

<!-- DefaultCache setting. -->
<defaultCache maxElementsInMemory="10000" memoryStoreEvictionPolicy="LRU" eternal="false"
    timeToIdleSeconds="300" timeToLiveSeconds="300" overflowToDisk="false" diskPersistent="false" />

<!-- Special objects setting. -->

<cache name="org.hibernate.cache.UpdateTimestampsCache" maxElementsInMemory="10000"
    memoryStoreEvictionPolicy="LRU" eternal="true" diskPersistent="false" overflowToDisk="true" maxElementsOnDisk="1000000" />
<cache name="org.hibernate.cache.StandardQueryCache" maxElementsInMemory="10000"
    memoryStoreEvictionPolicy="LRU" eternal="true" diskPersistent="false" overflowToDisk="true" maxElementsOnDisk="1000000" />

</ehcache>

个人感觉是连接池配置问题,请各位帮忙看看配置有没有问题

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close">

    <property name="driverClassName" value="${jdbc.driver}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />


      <!--initialSize: 初始化连接-->  
    <property name="initialSize" value="15"></property>
     <!--minIdle: 最小空闲连接--> 
    <property name="minIdle" value="5" />
     <!--minIdle: 最大空闲连接--> 
    <property name="maxIdle" value="20" />
     <!--maxActive: 最大连接数量-->    
    <property name="maxActive" value="300" />
     <!--maxWait: 超时等待时间以毫秒为单位 1000等于60秒-->  
    <property name="maxWait" value="1000"/>  
     <!--removeAbandoned: 是否自动回收超时连接-->   
     <property name="removeAbandoned"  value="true"/> 

    <property name="defaultAutoCommit" value="false" />
    <property name="timeBetweenEvictionRunsMillis" value="10000" />
    <property name="minEvictableIdleTimeMillis" value="60000" />
</bean>

<!-- Hibernate配置 -->
<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <!--  <prop key="hibernate.hbm2ddl.auto">update</prop> --> 
            <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
            <!--<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
            <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache/ehcache-hibernate-local.xml</prop>
            <prop key="hibernate.cache.use_second_level_cache">true</prop> 
            <prop key="hibernate.cache.use_query_cache">true</prop>
        --></props>
    </property>

    <property name="packagesToScan" value="com.usci" ></property>

</bean>

2个回答

1,网络问题
2,数据库连接池再发生异常时候没有关闭处理。

1.空闲的连接池是否收回
2.连接池发生异常时有没有关闭处理

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐