java - 即使 Cassandra 数据库已关闭,Spring Boot 应用程序也应该启动
问题描述
我已经实现了一个运行在 Tomcat 服务器上并使用 Cassandra 作为数据库的 Spring Boot oAuth 应用程序。当数据库服务器启动并运行时,应用程序被部署并运行良好。当数据库关闭时会出现问题,因此我的 oAuth 应用程序也拒绝部署。应用程序部署在生产中的不同服务器上,因此当我的容器重新启动时,我们无法保证服务器重新启动的顺序。
我尝试了许多可用的解决方案,例如
//@EnableCassandraRepositories("<My Package>")
@EnableAutoConfiguration(exclude={CassandraDataAutoConfiguration.class})
@SpringBootApplication
在课堂上也使用类似的方法。但没有任何帮助。
我猜真正的问题是我们正在使用 Cassandra/Spring 的默认实现,其中我们必须使用存储库。当应用程序被部署时@Bean
/@Autowired
注释失败并且我的应用程序。
- 我们正在考虑的实现可以如下: oAuth 应用程序应该运行,无论 Cassandra 是关闭还是启动。
- 如果数据库服务器关闭,当第一个请求到达 OAuth 时,它应该建立连接,返回一个新的会话对象并为后续请求重用相同的会话对象。
很感谢任何形式的帮助。先感谢您。
解决方案
你可以设置
spring.datasource.continue-on-error=true
在 application.properties 文件中。
推荐阅读
- php - JMSSerializerBundle 如何自定义将整数映射到字符串
- reporting-services - 如果没有详细信息行,SSRS 隐藏行组
- spring-boot - 如何在 SpringBoot Flux 中将客户端证书转发到下游服务
- python - tensor.shape 在使用 tf.keras 时返回一个无值列表
- typescript - TypeORM 使用 take 返回无效的结果数量
- amazon-web-services - 调用 UploadServerCertificate 时 AWS AccessDenied
- tomcat - 在 Tomcat 9.0.X catalina.out 日志中显示日期和时间
- c++ - 如何在 C++ 中将 void/null 作为默认参数添加到函数/lambda 指针?
- sql - SQL Server:具有多个 AND 和 OR 的内部联接
- postgresql - 为什么 Postgres 多列分区修剪比这更聪明?