java - 带有 spring data 的多个数据源 - 需要设置属性 continueOnError

标签 java spring spring-boot spring-data-jpa datasource

我在 Spring Boot 和 Spring Data 中使用两个数据源。 有一个选项可以通过属性文件 spring.datasource.continueOnError=true

设置属性

我的要求是仅为一个数据源设置此属性,如果另一个数据源关闭,我需要关闭应用程序。 如何将此属性设置为我需要跳过应用程序关闭的数据源?

请找到我的数据源配置

@Bean
public LocalContainerEntityManagerFactoryBean webNotifyEntityManager() {
    final LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean =
            new LocalContainerEntityManagerFactoryBean();
    localContainerEntityManagerFactoryBean.setDataSource(webNotifyDataSource());
    localContainerEntityManagerFactoryBean.setPackagesToScan(Constants.WEBNOTIFY_REPOSITORIES);
    final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
    localContainerEntityManagerFactoryBean.setJpaVendorAdapter(vendorAdapter);
    final HashMap<String, Object> properties = new HashMap<>();
    properties.put("hibernate.dialect", hibernateDialect);
    properties.put("hibernate.show_sql", true);
    localContainerEntityManagerFactoryBean.setJpaPropertyMap(properties);
    return localContainerEntityManagerFactoryBean;
}

@Primary
@Bean
public DataSource webNotifyDataSource() {
    final DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName(Preconditions.checkNotNull(driverClassName));
    dataSource.setUrl(Preconditions.checkNotNull(webNotifyUrl));
    dataSource.setUsername(Preconditions.checkNotNull(webNotifyUserName));
    dataSource.setPassword(Preconditions.checkNotNull(webNotifyPassword));
    return dataSource;
}

@Primary
@Bean
public PlatformTransactionManager webNotifyTransactionManager() {
    final JpaTransactionManager transactionManager = new JpaTransactionManager();
    transactionManager.setEntityManagerFactory(webNotifyEntityManager().getObject());
    return transactionManager;
}

最佳答案

我相信你想要spring.datasource.primary.continueOnError=true

关于java - 带有 spring data 的多个数据源 - 需要设置属性 continueOnError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45736084/

相关文章:

java - Elasticsearch 排除包含特定术语的文档

java - Spring 将动态生成的值放入占位符中

reactjs - 如何检查JHipster中子菜单项的权限

java - 为 Android 设置解析推送通知

java - 如何从属性文件初始化 Jersey 查询参数的默认值

java - 如何确保我的应用程序与 RabbitMQ 的连接是健康的?

java - 使用 log4j 每天为我的 Spring 项目创建日志文件。

java - Spring Boot 实体的自定义自动配置

java - 如何更改 ResponseStatusException 的 ErrorAttributes?

java - 复选框的监听器不能与按钮一起使用