C3PO解决数据库重启后tomcat在不需要重启的情况下即可重新获得数据连接的问题。

lgmsyy 2015-02-10 12:55:54
按照以下配置,怎么当DB断开又重新启动后,WEB工程还是报错:
ERROR: org.hibernate.util.JDBCExceptionReporter - OALL8 处于不一致状态

只有当TOMCAT重新启动后,WEB工程才可以正常运行。
网上说C3P0可以解决数据库重启后tomcat在不需要重启的情况下即可重新获得数据连接的问题。但为什么不行呢

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingLocations" value="${hibernate.mapping.locations}" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
${hibernate.dialect}
</prop>
<prop key="hibernate.show_sql">
${hibernate.show_sql}
</prop>
<prop key="hibernate.use_sql_comments">
${hibernate.use_sql_comments}
</prop>

<prop key="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</prop>
<!--连接池的最小连接数 -->
<prop key="hibernate.c3p0.min_size">
5
</prop>
<!--最大连接数 -->
<prop key="hibernate.c3p0.max_size">
50
</prop>
<!--连接超时时间 -->
<prop key="hibernate.c3p0.timeout">
120
</prop>
<!--statemnets缓存大小 -->
<prop key="hibernate.c3p0.max_statements">
100
</prop>
<!--每隔多少秒检测连接是否可正常使用 -->
<prop key="hibernate.c3p0.idle_test_period">
120
</prop>
<!--当池中的连接耗尽的时候,一次性增加的连接数量,默认为3 -->
<prop key="hibernate.c3p0.acquire_increment">
2
</prop>
<!-- 每次都验证连接是否可用 -->
<prop key="hibernate.c3p0.validate">
true
</prop>
</props>
</property>
</bean>
...全文
402 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myepoch 2015-02-11
  • 打赏
  • 举报
回复
这个似乎挺费劲,网上找到的答案不准确都。
myepoch 2015-02-11
  • 打赏
  • 举报
回复
<property name="driverClassName" value="${base.jdbc.driverClassName}" /> <property name="url" value="${base.jdbc.url}" /> <property name="username" value="${base.jdbc.username}" /> <property name="password" value="${base.jdbc.password}" /> <property name="initialSize" value="5"/> <property name="maxIdle" value="10"/> <property name="minIdle" value="5"/> <property name="maxActive" value="15"/> <property name="logAbandoned" value="true"/> <property name="removeAbandoned" value="true"/> <property name="removeAbandonedTimeout" value="180"/> <property name="maxWait" value="3000"/> <property name="testOnBorrow" value="true"/> <property name="validationQuery" value="select 1 from dual"/>
lgmsyy 2015-02-10
  • 打赏
  • 举报
回复
自己最后顶一下,有人帮忙吗
lgmsyy 2015-02-10
  • 打赏
  • 举报
回复
没人帮忙吗?
lgmsyy 2015-02-10
  • 打赏
  • 举报
回复
有人知道吗,这个真着急啊

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧