【问题标题】:How to enable XA for Springboot H2 datasource?如何为 Spring Boot H2 数据源启用 XA?
【发布时间】:2018-09-01 19:49:32
【问题描述】:

我应该在下面的 spring-boot H2 数据源配置中进行哪些更改,以确保 XA 已启用

@Bean
//@ConfigurationProperties(prefix = "spring.datasource")
public DataSource h2() {
    String url = "jdbc:h2:mem:mydatabase;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE";
    return DataSourceBuilder.create()
            .url(url)
            .driverClassName("org.h2.Driver")
            .build();
}
@Bean(name = "entityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder) {
    return builder
            .dataSource(h2())
            .packages("demo.h2xa.domain")
            .persistenceUnit("mydomainPersistanceUnit")
            .build();
}

参考:http://www.h2database.com/javadoc/org/h2/jdbcx/JdbcDataSource.html

【问题讨论】:

    标签: spring-boot h2 xa


    【解决方案1】:

    添加 org.h2.jdbcx.JdbcDataSource.class 作为类型会有所帮助。

    public DataSource h2() {
        String url = "jdbc:h2:mem:mydatabase;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE";
        return DataSourceBuilder.create()
                .url(url)
                .driverClassName("org.h2.Driver")
                .type(org.h2.jdbcx.JdbcDataSource.class) //xa datasource
                .build();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 2018-10-09
      • 1970-01-01
      • 2019-06-19
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      相关资源
      最近更新 更多