Skip to content

Commit 56a1551

Browse files
committed
Polish "Configure jOOQ with TransactionProvider bean when available"
See gh-33979
1 parent b2a8c8b commit 56a1551

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfigurationTests.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,19 @@ void transactionProviderBacksOffOnExistingTransactionProvider() {
175175
.run((context) -> {
176176
TransactionProvider transactionProvider = context.getBean(TransactionProvider.class);
177177
assertThat(transactionProvider).isInstanceOf(CustomTransactionProvider.class);
178+
DSLContext dsl = context.getBean(DSLContext.class);
179+
assertThat(dsl.configuration().transactionProvider()).isSameAs(transactionProvider);
180+
});
181+
}
182+
183+
@Test
184+
void transactionProviderFromConfigurationCustomizerOverridesTransactionProviderBean() {
185+
this.contextRunner.withUserConfiguration(JooqDataSourceConfiguration.class, TxManagerConfiguration.class,
186+
CustomTransactionProviderFromCustomizerConfiguration.class).run((context) -> {
187+
TransactionProvider transactionProvider = context.getBean(TransactionProvider.class);
188+
assertThat(transactionProvider).isInstanceOf(SpringTransactionProvider.class);
189+
DSLContext dsl = context.getBean(DSLContext.class);
190+
assertThat(dsl.configuration().transactionProvider()).isInstanceOf(CustomTransactionProvider.class);
178191
});
179192
}
180193

@@ -239,6 +252,16 @@ TransactionProvider transactionProvider() {
239252

240253
}
241254

255+
@Configuration(proxyBeanMethods = false)
256+
static class CustomTransactionProviderFromCustomizerConfiguration {
257+
258+
@Bean
259+
DefaultConfigurationCustomizer transactionProviderCustomizer() {
260+
return (configuration) -> configuration.setTransactionProvider(new CustomTransactionProvider());
261+
}
262+
263+
}
264+
242265
@Configuration(proxyBeanMethods = false)
243266
static class TxManagerConfiguration {
244267

0 commit comments

Comments
 (0)