当前位置: 首页 > 知识库问答 >
问题:

即使数据库关闭,如何让App服务器启动?

翟淮晨
2023-03-14

我用的是Spring

谢谢

共有2个答案

何宏博
2023-03-14

这最初是一条评论:

你试过了吗?在连接到某个数据库之前,您不会知道该数据库是否已关闭,因此,除非c3p0预先验证其所有连接,否则在尝试使用某个特定数据库之前,您不会知道该数据库是否已关闭。到那时,您的应用程序将已经启动。

边霄
2023-03-14

我将使用@配置注释来创建一个对象,该对象的工作是构造bean并处理DB宕机场景。构造bean时,测试DB连接是否正常,如果没有,则返回bean的虚拟版本。这将被注入到相关对象中。这个伪bean的工作实际上就是在调用时抛出一个不可用的异常。如果您的应用程序可以处理某些功能的这些不可用异常,并向用户显示这些异常,同时在使用其他数据源时继续运行,那么您应该可以。

@Configuration
public class DataAccessConfiguration {

  @Bean
  public DataSource dataSource() {
   try {
     //create data source to your database 
     ....
     return realDataSource;
   } catch (Exception) {
     //create dummy data source
     ....
     return dummyDataSource;
   }
  }
}
 类似资料:
  • 我想启动我的quarkus应用程序,如果数据库关闭,它不会影响我的启动。 我的代码:https://github.com/uenderley/quarkus-datasources Application.Properties 当postgres关闭时,我试图启动应用程序时出错 我知道spring Boot上的这些属性: spring.datasource.continue-on-error=tr

  • 问题内容: 我有一个包含http(s)服务器的Node.js应用程序。 在特定情况下,我需要以编程方式关闭此服务器。我当前正在做的是调用其函数,但这无济于事,因为它会等待所有保持活动的连接首先完成。 因此,基本上,这将关闭服务器,但仅在最少等待120秒之后。但是我希望服务器立即关闭-即使这意味着要中断当前处理的请求。 我不能做的是一个简单的 因为服务器只是应用程序的一部分,应用程序的其余部分应保持

  • 我的Spring Boot应用程序不是Web服务器,但它是使用自定义协议的服务器(在本例中使用Camel)。 但是Spring Boot在启动后立即(优雅地)停止。我如何防止这种情况? 我希望应用程序停止,如果Ctrl C或编程。

  • 如何在12.04Linux启动和关闭tomcat服务器? 当我使用sudo/etc/init时。d/tomcat7重新启动,它正在工作。 当我使用服务tomcat7 restart时,我收到消息: 您需要root权限才能运行此脚本。 当我使用usr/share/tomcat7/bin/shutdown时。sh,我得到: 组织。阿帕奇。卡特琳娜。启动。ClassLoaderFactory valid

  • 我已经尝试了一段时间试图关闭ChromeDriver服务,但我无法开发如何关闭的解决方案。我正在使用摩卡和柴进行单元测试。第一个测试通过,第二个由于错误而失败。 我试着在selenium webdrive/chrome中查找。js模块,无法找到关闭服务的函数。我试着搜索答案,但在网上也找不到任何答案。也许我创建chrome驱动程序的方法需要重新设计。我尝试使用“selenium webdriver