gpt4 book ai didi

hibernate - 应用程序需要在数据库重启时重新部署

转载 作者:行者123 更新时间:2023-11-28 22:22:12 24 4
gpt4 key购买 nike

我有一个使用 Spring 3 和 Hibernate 3 开发的简单 Web 应用程序,部署在 tomcat 7 上。我的应用程序工作正常,直到数据库服务器关闭。再次打开数据库服务器后,我希望该应用程序可以运行,但我需要重新启动 tomcat 才能使该应用程序再次运行。如果不是我得到以下异常

org.springframework.web.util.NestedServletException: Request processing failed; nested >exception is org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could ?>not execute query; uncategorized SQLException for SQL

下面是所用数据库属性的快照

<bean id="OradataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-    method="close">
<property name="driverClassName" value="oracle.jdbc.OracleDriver"/>
<property name="url" value="xyz"/>
<property name="username" value="xyz"/>
<property name="password" value="xyz"/>
</bean>
<bean id="OraDbHibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="log4j.logger.net.sf.hibernate">trace</prop>
</props>
</property>
</bean>

感谢任何帮助。谢谢

最佳答案

您需要再添加 2 个属性。

<property name="validationQuery" value="SELECT 1" />
<property name="testOnBorrow" value="true" />
  1. 验证查询 - 在将连接返回给调用者之前验证池中的连接。
  2. testOnBorrow - 如果设置为 true,连接将在从池中借用之前进行验证。如果连接无效,它将从连接池中移除并借用另一个连接。

关于hibernate - 应用程序需要在数据库重启时重新部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12147571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com