Merge pull request #14471 from Davin Kevin
* gh-14471: Polish "Use ExecutorProvider bean if available when auto-configuring jOOQ" Use ExecutorProvider bean if available when auto-configuring jOOQ
This commit is contained in:
@@ -21,6 +21,7 @@ import javax.sql.DataSource;
|
||||
import org.jooq.ConnectionProvider;
|
||||
import org.jooq.DSLContext;
|
||||
import org.jooq.ExecuteListenerProvider;
|
||||
import org.jooq.ExecutorProvider;
|
||||
import org.jooq.RecordListenerProvider;
|
||||
import org.jooq.RecordMapperProvider;
|
||||
import org.jooq.RecordUnmapperProvider;
|
||||
@@ -109,6 +110,8 @@ public class JooqAutoConfiguration {
|
||||
|
||||
private final TransactionListenerProvider[] transactionListenerProviders;
|
||||
|
||||
private final ExecutorProvider executorProvider;
|
||||
|
||||
public DslContextConfiguration(JooqProperties properties,
|
||||
ConnectionProvider connectionProvider, DataSource dataSource,
|
||||
ObjectProvider<TransactionProvider> transactionProvider,
|
||||
@@ -118,7 +121,8 @@ public class JooqAutoConfiguration {
|
||||
ObjectProvider<RecordListenerProvider[]> recordListenerProviders,
|
||||
ExecuteListenerProvider[] executeListenerProviders,
|
||||
ObjectProvider<VisitListenerProvider[]> visitListenerProviders,
|
||||
ObjectProvider<TransactionListenerProvider[]> transactionListenerProviders) {
|
||||
ObjectProvider<TransactionListenerProvider[]> transactionListenerProviders,
|
||||
ObjectProvider<ExecutorProvider> executorProvider) {
|
||||
this.properties = properties;
|
||||
this.connection = connectionProvider;
|
||||
this.dataSource = dataSource;
|
||||
@@ -131,6 +135,7 @@ public class JooqAutoConfiguration {
|
||||
this.visitListenerProviders = visitListenerProviders.getIfAvailable();
|
||||
this.transactionListenerProviders = transactionListenerProviders
|
||||
.getIfAvailable();
|
||||
this.executorProvider = executorProvider.getIfAvailable();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@@ -156,6 +161,9 @@ public class JooqAutoConfiguration {
|
||||
if (this.settings != null) {
|
||||
configuration.set(this.settings);
|
||||
}
|
||||
if (this.executorProvider != null) {
|
||||
configuration.set(this.executorProvider);
|
||||
}
|
||||
configuration.set(this.recordListenerProviders);
|
||||
configuration.set(this.executeListenerProviders);
|
||||
configuration.set(this.visitListenerProviders);
|
||||
|
||||
@@ -16,11 +16,14 @@
|
||||
|
||||
package org.springframework.boot.autoconfigure.jooq;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.jooq.DSLContext;
|
||||
import org.jooq.ExecuteListener;
|
||||
import org.jooq.ExecuteListenerProvider;
|
||||
import org.jooq.ExecutorProvider;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.RecordListener;
|
||||
import org.jooq.RecordListenerProvider;
|
||||
@@ -141,12 +144,15 @@ public class JooqAutoConfigurationTests {
|
||||
TxManagerConfiguration.class, TestRecordMapperProvider.class,
|
||||
TestRecordUnmapperProvider.class, TestRecordListenerProvider.class,
|
||||
TestExecuteListenerProvider.class, TestVisitListenerProvider.class,
|
||||
TestTransactionListenerProvider.class).run((context) -> {
|
||||
TestTransactionListenerProvider.class, TestExecutorProvider.class)
|
||||
.run((context) -> {
|
||||
DSLContext dsl = context.getBean(DSLContext.class);
|
||||
assertThat(dsl.configuration().recordMapperProvider().getClass())
|
||||
.isEqualTo(TestRecordMapperProvider.class);
|
||||
assertThat(dsl.configuration().recordUnmapperProvider().getClass())
|
||||
.isEqualTo(TestRecordUnmapperProvider.class);
|
||||
assertThat(dsl.configuration().executorProvider().getClass())
|
||||
.isEqualTo(TestExecutorProvider.class);
|
||||
assertThat(dsl.configuration().recordListenerProviders().length)
|
||||
.isEqualTo(1);
|
||||
assertThat(dsl.configuration().executeListenerProviders().length)
|
||||
@@ -288,4 +294,13 @@ public class JooqAutoConfigurationTests {
|
||||
|
||||
}
|
||||
|
||||
protected static class TestExecutorProvider implements ExecutorProvider {
|
||||
|
||||
@Override
|
||||
public Executor provide() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3966,6 +3966,7 @@ which is used when the jOOQ `Configuration` is created. You can define beans for
|
||||
following jOOQ Types:
|
||||
|
||||
* `ConnectionProvider`
|
||||
* `ExecutorProvider`
|
||||
* `TransactionProvider`
|
||||
* `RecordMapperProvider`
|
||||
* `RecordUnmapperProvider`
|
||||
|
||||
Reference in New Issue
Block a user