首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

小弟我用SSH框架开发一个系统,后台数据库是Oracle的。用tomcat运行几分钟后就不能查询数据了

2013-06-19 
我用SSH框架开发一个系统,后台数据库是Oracle的。用tomcat运行几分钟后就不能查询数据了。用SSH+Oracle开发

我用SSH框架开发一个系统,后台数据库是Oracle的。用tomcat运行几分钟后就不能查询数据了。
用SSH+Oracle开发一个网站,发布到Tomcat容器中。
刚开始一两分钟,运行无压力。
但是只要超过一两分钟,系统就无法查询数据库了。
很像断开连接。

但是不是连接数超过限制,我看着系统日志的,没有任何缓存的连接数。
Tomcat的并发连接也改了,可是还是不行。
求教各位大神,帮忙解决一下。 Oracle SSH Tomcat 无法持久
[解决办法]
Datasource  
timeBetweenEvictionRunsMillis 定时检查连接池的时间间隔
minEvictableIdleTimeMillis    连接最大空闲时间,单位为毫秒 这2个参数会保持在这段时间内连接是可用的
试一下吧
[解决办法]
估计spring配置问题吧,数据库连接使用后不自动释放导致的。
给你个配置参考

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="minPoolSize" value="${minPoolSize}" />
<property name="maxPoolSize" value="${maxPoolSize}" />
<property name="maxIdleTime" value="${maxIdleTime}" />
<property name="acquireIncrement" value="${acquireIncrement}" />
<property name="maxStatements" value="${maxStatements}" />
<property name="initialPoolSize" value="${initialPoolSize}" />
<property name="idleConnectionTestPeriod" value="${idleConnectionTestPeriod}" />
<property name="acquireRetryAttempts" value="${acquireRetryAttempts}" />
<property name="acquireRetryDelay" value="${acquireRetryDelay}"/>
<property name="breakAfterAcquireFailure" value="${breakAfterAcquireFailure}" />
<property name="testConnectionOnCheckout" value="${testConnectionOnCheckout}" />
</bean>


参数:
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.0.1:1521:orcl
jdbc.username=XXXX
jdbc.password=XXXX
minPoolSize=2
maxPoolSize=30
#(in seconds)
maxIdleTime=1800
acquireIncrement=2
maxStatements=0
initialPoolSize=2
#(in seconds)
idleConnectionTestPeriod=60
acquireRetryAttempts=10
# (in milliseconds)
acquireRetryDelay=1000
breakAfterAcquireFailure=false
testConnectionOnCheckout=false
[解决办法]
还有session配置,你对照着看看,是不是配置有问题:
<!-- 结束 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="lobHandler">
<ref bean="myLobHandler" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect


</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.connection.release_mode">
after_transaction
</prop>
<prop key="hibernate.autoReconnect">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">
true
</prop>
</props>
</property>
<property name="mappingDirectoryLocations">
<list>

</list>
</property>
</bean>
[解决办法]
最好把你spring的配置文件贴一下
[解决办法]
应该是配置的问题吧!!!
[解决办法]
如果是hibernate配置链接数据库操作,那就是你的hibernate里面操作session的时候出了问题,检查一下这块,问题出在这

热点排行