Class JooqTransactionManager

  • All Implemented Interfaces:
    TransactionManager

    public final class JooqTransactionManager
    extends Object
    Transaction manager which uses jOOQ's transaction management. In order to wire into JOOQ's transaction lifecycle, a slightly convoluted construction process is required which involves first creating a JooqTransactionListener, including it in the JOOQ Configuration while constructing the root DSLContext, and then finally linking the listener to the new JooqTransactionManager:
     DataSourceConnectionProvider connectionProvider = new DataSourceConnectionProvider(dataSource);
     DefaultConfiguration configuration = new DefaultConfiguration();
     configuration.setConnectionProvider(connectionProvider);
     configuration.setSQLDialect(SQLDialect.H2);
     configuration.setTransactionProvider(new ThreadLocalTransactionProvider(connectionProvider));
     JooqTransactionListener listener = JooqTransactionManager.createListener();
     configuration.set(listener);
     DSLContext dsl = DSL.using(configuration);
     return JooqTransactionManager.create(dsl, listener);