Polish "Configure jOOQ with TransactionProvider bean when available"

See gh-33979
This commit is contained in:
Andy Wilkinson
2023-02-01 14:54:36 +00:00
parent b2a8c8be1c
commit 56a1551c2d

View File

@@ -175,6 +175,19 @@ class JooqAutoConfigurationTests {
.run((context) -> {
TransactionProvider transactionProvider = context.getBean(TransactionProvider.class);
assertThat(transactionProvider).isInstanceOf(CustomTransactionProvider.class);
DSLContext dsl = context.getBean(DSLContext.class);
assertThat(dsl.configuration().transactionProvider()).isSameAs(transactionProvider);
});
}
@Test
void transactionProviderFromConfigurationCustomizerOverridesTransactionProviderBean() {
this.contextRunner.withUserConfiguration(JooqDataSourceConfiguration.class, TxManagerConfiguration.class,
CustomTransactionProviderFromCustomizerConfiguration.class).run((context) -> {
TransactionProvider transactionProvider = context.getBean(TransactionProvider.class);
assertThat(transactionProvider).isInstanceOf(SpringTransactionProvider.class);
DSLContext dsl = context.getBean(DSLContext.class);
assertThat(dsl.configuration().transactionProvider()).isInstanceOf(CustomTransactionProvider.class);
});
}
@@ -239,6 +252,16 @@ class JooqAutoConfigurationTests {
}
@Configuration(proxyBeanMethods = false)
static class CustomTransactionProviderFromCustomizerConfiguration {
@Bean
DefaultConfigurationCustomizer transactionProviderCustomizer() {
return (configuration) -> configuration.setTransactionProvider(new CustomTransactionProvider());
}
}
@Configuration(proxyBeanMethods = false)
static class TxManagerConfiguration {