Как включить XA для источника данных Springboot H2?
Что я должен изменить в приведенной ниже конфигурации источника данных 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
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();
}