From dbae4fc1c35b6d3aecc2b0bd3b35b614be271d87 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Thu, 14 Dec 2017 09:33:10 +0100 Subject: [PATCH] Make it easier to use jOOQ with several data sources Closes gh-11324 --- .../autoconfigure/jooq/JooqExceptionTranslator.java | 3 ++- .../jooq/SpringTransactionProvider.java | 5 +++-- spring-boot-docs/src/main/asciidoc/howto.adoc | 13 +++++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqExceptionTranslator.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqExceptionTranslator.java index 93be2b591b3..e6cf90b4ded 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqExceptionTranslator.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqExceptionTranslator.java @@ -37,8 +37,9 @@ import org.springframework.jdbc.support.SQLStateSQLExceptionTranslator; * @author Andreas Ahlenstorf * @author Phillip Webb * @author Stephane Nicoll + * @author 1.5.10 */ -class JooqExceptionTranslator extends DefaultExecuteListener { +public class JooqExceptionTranslator extends DefaultExecuteListener { // Based on the jOOQ-spring-example from https://github.com/jOOQ/jOOQ diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransactionProvider.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransactionProvider.java index 52d4cd8deb9..75feb02f1f4 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransactionProvider.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransactionProvider.java @@ -30,14 +30,15 @@ import org.springframework.transaction.support.DefaultTransactionDefinition; * @author Lukas Eder * @author Andreas Ahlenstorf * @author Phillip Webb + * @since 1.5.10 */ -class SpringTransactionProvider implements TransactionProvider { +public class SpringTransactionProvider implements TransactionProvider { // Based on the jOOQ-spring-example from https://github.com/jOOQ/jOOQ private final PlatformTransactionManager transactionManager; - SpringTransactionProvider(PlatformTransactionManager transactionManager) { + public SpringTransactionProvider(PlatformTransactionManager transactionManager) { this.transactionManager = transactionManager; } diff --git a/spring-boot-docs/src/main/asciidoc/howto.adoc b/spring-boot-docs/src/main/asciidoc/howto.adoc index 9f7d7e48a61..e9e43a96fd5 100644 --- a/spring-boot-docs/src/main/asciidoc/howto.adoc +++ b/spring-boot-docs/src/main/asciidoc/howto.adoc @@ -2095,6 +2095,19 @@ include::{code-examples}/elasticsearch/HibernateSearchElasticsearchExample.java[ +[[howto-configure-a-component-that-is-used-by-JPA]] +=== Configure jOOQ with Two DataSources +If you need to use jOOQ with multiple data sources, you should create your own +`DSLContext` for each, refer to +{sc-spring-boot-autoconfigure}/jooq/JooqAutoConfiguration.{sc-ext}[JooqAutoConfiguration] +for more details. + +TIP: In particular, `JooqExceptionTranslator` and `SpringTransactionProvider` can be +reused to provide similar features to what the auto-configuration does with a single +`DataSource`. + + + [[howto-database-initialization]] == Database initialization An SQL database can be initialized in different ways depending on what your stack is. Or