Как включить 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();
}
Другие вопросы по тегам