如何解决即使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文件中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。