换个名字777 2016-05-31 08:16 采纳率: 0%
浏览 2476
已结题

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

加缓存 过一天左右无法连接数据库,不加缓存 几分钟就不行了,缓存有没有需要修改的地方
<?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条回答 默认 最新

  • 斯密德 2016-05-31 10:12
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题