Spring JPA数据源崩溃恢复和运行时动态更改

Spring JPA数据源崩溃恢复和运行时动态更改,spring,spring-boot,spring-data-jpa,Spring,Spring Boot,Spring Data Jpa,您好,我使用SpringJPA,我真正理解它的工作机制,它是以单例方式立即创建的 是否有可能在运行的环境中更改或重新创建数据源。类似这样的场景,我的密码已更改,并且如果我当时不停止应用程序,所有调用都会发生异常。我有一个机制来检查密码并动态更改密码,我的其他人请求获取新密码创建新数据源并继续工作 另一个问题是,我有多个数据源,在应用程序启动时,如果其中一个数据源出现异常,那么我的应用程序无法启动。如果其中一个数据源不工作,我想要的是,应用程序可以继续预热,并尝试检查创建数据源的每个相关请求 我不

您好,我使用SpringJPA,我真正理解它的工作机制,它是以单例方式立即创建的

是否有可能在运行的环境中更改或重新创建数据源。类似这样的场景,我的密码已更改,并且如果我当时不停止应用程序,所有调用都会发生异常。我有一个机制来检查密码并动态更改密码,我的其他人请求获取新密码创建新数据源并继续工作

另一个问题是,我有多个数据源,在应用程序启动时,如果其中一个数据源出现异常,那么我的应用程序无法启动。如果其中一个数据源不工作,我想要的是,应用程序可以继续预热,并尝试检查创建数据源的每个相关请求

我不想为每个请求创建persistencejpaconfig,但如果有必要,我想在每个请求中对数据源进行更改

@Configuration
@EnableTransactionManagement
public class PersistenceJPAConfig{

....

@Bean
public DataSource dataSource(){
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("********");
    dataSource.setUrl("*********");
    dataSource.setUsername( "**********" );
    dataSource.setPassword( "********" );
    return dataSource;
}

您只需实现自己的
数据源
,它将委托给真实的
数据源
,并在密码更改时创建一个新的数据源


可能会有帮助,无论是作为基类还是,因为您要将
数据源
更改为实现的模板。

您只需实现自己的
数据源
,它将委托给真实的
数据源
,并在密码更改时创建一个新的数据源

可能会有帮助,或者作为基类,或者,因为您要将
数据源
更改为实现的模板