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