如果数据库关闭,我的 tomcat 将无法启动。我如何希望 spring 允许即使数据库已关闭也可以启动,并且一旦数据库处于 Activity 状态就会重新连接数据库?
我使用 Spring 4 和 BoneCP 作为数据源。下面是我在 applicationContext.xml 中的 jdbc 配置。我正在使用 Tomcat 8.5。
<bean id="defaultDataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close" p:driverClass="${jdbc.driverClassName}"
p:jdbcUrl="${jdbc.url}" p:username="${jdbc.user}" p:password="${jdbc.pass}"
p:maxConnectionsPerPartition="${partition.max.connections}"
p:minConnectionsPerPartition="${partition.min.connections}"
p:partitionCount="${partition.count}" p:acquireIncrement="${partition.acquire.incrementcount}"
p:statementsCacheSize="${statements.cache.size}"
p:idleMaxAgeInMinutes="${idle.max.age.minutes}" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
<property name="targetDataSource" ref="defaultDataSource" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
最佳答案
您可以将 spring 进程设置为即使在出现数据库错误时也启动,如果您使用 spring boot,您可以设置为 ( doc) :
spring.datasource.continue-on-error=true
即使不推荐重新连接,您仍然可以通过设置(链接 here):
spring.datasource.testOnBorrow=true
关于java - Spring 4 - 如果数据库关闭则无法启动服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48087839/