即使Cassandra数据库已关闭,Spring Boot应用程序也应启动

问题描述

我已经实现了一个在Tomcat服务器上运行并使用Cassandra作为数据库的spring boot oAuth应用程序。当数据库服务器启动并运行时,将部署应用程序并正常运行。当数据库关闭时会出现问题,因此我的oAuth应用程序也拒绝部署。这些应用程序部署在生产环境中的其他服务器上,因此当我的容器重新启动时,我们无法保证服务器重新启动的顺序。

我尝试了许多可用的解决方案,例如

//@EnableCassandraRepositories("<My Package>")
@EnableAutoConfiguration(exclude={CassandraDataAutoConfiguration.class})

@SpringBootApplication类中也使用类似的方法。但是没有任何帮助。

我猜测的真正问题是,我们正在使用Cassandra / Spring的认实现,其中我们必须使用存储库。部署应用程序后,@Bean / @Autowired批注会失败,并且我的应用程序也会出现。

  • 我们正在考虑的实现可以如下:无论Cassandra处于关闭还是打开状态,oAuth应用程序都应运行。
  • 如果数据库服务器已关闭,则当第一个请求到达OAuth时,它应建立连接,返回一个新的会话对象,并将相同的会话对象重新用于后续请求。

非常感谢您的帮助。预先谢谢你。

解决方法

您可以设置

spring.datasource.continue-on-error = true

在application.properties文件中。