数据库
首页 > 数据库> > java – 即使数据库已关闭,如何使App服务器启动?

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

作者:互联网

我正在使用spring&冬眠.我的应用程序有3个模块.每个模块都有一个特定的数据库因此,应用程序处理3个数据库.在服务器启动时,如果任何一个数据库关闭,则服务器不会启动.我的要求是即使其中一个数据库关闭,服务器应该在其他模块的数据库启动时启动,用户可以在其他两个模块上工作.请建议我如何实现这一目标?
我正在使用spring 3.x和hibernate 3.x.我也在使用c3p0连接池.
应用服务器是Tomcat.

谢谢!

解决方法:

我会使用@Configuration注释来创建一个对象,它的工作就是构造bean并处理DB down场景.构造bean时,测试数据库连接是否已启动,如果没有,则返回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;
   }
  }
}

标签:java,spring,hibernate,tomcat,appserver
来源: https://codeday.me/bug/20190902/1789496.html