Skip to content

Commit 4ddc36f

Browse files
committed
use JDBC_LOGGER for logging resource-local tx management
just like we now use JTA_LOGGER for JTA tx management
1 parent 63c44bc commit 4ddc36f

File tree

5 files changed

+23
-27
lines changed

5 files changed

+23
-27
lines changed

hibernate-core/src/main/java/org/hibernate/engine/jdbc/JdbcLogging.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,4 +138,8 @@ public interface JdbcLogging extends BasicLogger {
138138
JDBC version: %s.%s""",
139139
id = 100018)
140140
void logDriverInfo(String name, String version, int major, int minor, int jdbcMajor, int jdbcMinor);
141+
142+
@LogMessage(level = WARN)
143+
@Message(value = "Called joinTransaction() on a non-JTA EntityManager (ignoring)", id = 100020)
144+
void callingJoinTransactionOnNonJtaEntityManager();
141145
}

hibernate-core/src/main/java/org/hibernate/internal/CoreMessageLogger.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,6 @@ public interface CoreMessageLogger extends BasicLogger {
7171
@Message(value = "Second-level cache disabled", id = 26)
7272
void noRegionFactory();
7373

74-
@LogMessage(level = WARN)
75-
@Message(value = "Calling joinTransaction() on a non JTA EntityManager", id = 27)
76-
void callingJoinTransactionOnNonJtaEntityManager();
77-
7874
@LogMessage(level = DEBUG)
7975
@Message(value = "Instantiating factory [%s] with settings: %s", id = 30)
8076
void instantiatingFactory(String uuid, Map<String, Object> settings);

hibernate-core/src/main/java/org/hibernate/resource/transaction/backend/jdbc/internal/JdbcIsolationDelegate.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* @author Andrea Boriero
2424
*/
2525
public class JdbcIsolationDelegate implements IsolationDelegate {
26-
private static final CoreMessageLogger LOG = CoreLogging.messageLogger( JdbcIsolationDelegate.class );
26+
private static final CoreMessageLogger log = CoreLogging.messageLogger( JdbcIsolationDelegate.class );
2727

2828
private final JdbcConnectionAccess connectionAccess;
2929
private final SqlExceptionHelper sqlExceptionHelper;
@@ -33,10 +33,7 @@ public JdbcIsolationDelegate(TransactionCoordinatorOwner transactionCoordinatorO
3333
}
3434

3535
public JdbcIsolationDelegate(JdbcSessionOwner jdbcSessionOwner) {
36-
this(
37-
jdbcSessionOwner.getJdbcConnectionAccess(),
38-
jdbcSessionOwner.getSqlExceptionHelper()
39-
);
36+
this( jdbcSessionOwner.getJdbcConnectionAccess(), jdbcSessionOwner.getSqlExceptionHelper() );
4037
}
4138

4239
public JdbcIsolationDelegate(JdbcConnectionAccess connectionAccess, SqlExceptionHelper sqlExceptionHelper) {
@@ -80,7 +77,7 @@ public <T> T delegateWork(WorkExecutorVisitable<T> work, boolean transacted) thr
8077
}
8178
}
8279
catch ( Exception exception ) {
83-
LOG.unableToRollbackConnection( exception );
80+
log.unableToRollbackConnection( exception );
8481
}
8582

8683
if ( e instanceof HibernateException ) {
@@ -99,14 +96,14 @@ else if ( e instanceof SQLException sqle ) {
9996
connection.setAutoCommit( true );
10097
}
10198
catch ( Exception ignore ) {
102-
LOG.trace( "was unable to reset connection back to auto-commit" );
99+
log.trace( "Unable to reset connection back to auto-commit" );
103100
}
104101
}
105102
try {
106103
jdbcConnectionAccess().releaseConnection( connection );
107104
}
108105
catch ( Exception ignore ) {
109-
LOG.unableToReleaseIsolatedConnection( ignore );
106+
log.unableToReleaseIsolatedConnection( ignore );
110107
}
111108
}
112109
}

hibernate-core/src/main/java/org/hibernate/resource/transaction/backend/jdbc/internal/JdbcResourceLocalTransactionCoordinatorBuilderImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ public class JdbcResourceLocalTransactionCoordinatorBuilderImpl implements Trans
2626
/**
2727
* Singleton access
2828
*/
29-
public static final JdbcResourceLocalTransactionCoordinatorBuilderImpl INSTANCE = new JdbcResourceLocalTransactionCoordinatorBuilderImpl();
29+
public static final TransactionCoordinatorBuilder INSTANCE = new JdbcResourceLocalTransactionCoordinatorBuilderImpl();
3030

3131
@Override
3232
public TransactionCoordinator buildTransactionCoordinator(TransactionCoordinatorOwner owner, Options options) {
33-
if ( owner instanceof JdbcResourceTransactionAccess ) {
33+
if ( owner instanceof JdbcResourceTransactionAccess transactionAccess ) {
3434
return new JdbcResourceLocalTransactionCoordinatorImpl(
3535
this,
3636
owner,
37-
(JdbcResourceTransactionAccess) owner
37+
transactionAccess
3838
);
3939
}
4040

hibernate-core/src/main/java/org/hibernate/resource/transaction/backend/jdbc/internal/JdbcResourceLocalTransactionCoordinatorImpl.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import jakarta.transaction.Status;
1313

1414
import org.hibernate.resource.transaction.spi.IsolationDelegate;
15-
import org.hibernate.internal.CoreMessageLogger;
1615
import org.hibernate.jpa.spi.JpaCompliance;
1716
import org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransaction;
1817
import org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransactionAccess;
@@ -25,7 +24,8 @@
2524
import org.hibernate.resource.transaction.spi.TransactionStatus;
2625

2726
import static java.util.Collections.emptyList;
28-
import static org.hibernate.internal.CoreLogging.messageLogger;
27+
import static org.hibernate.engine.jdbc.JdbcLogging.JDBC_LOGGER;
28+
import static org.hibernate.engine.jdbc.JdbcLogging.JDBC_MESSAGE_LOGGER;
2929

3030
/**
3131
* An implementation of {@link TransactionCoordinator} based on managing a
@@ -36,7 +36,6 @@
3636
* @see JdbcResourceTransaction
3737
*/
3838
public class JdbcResourceLocalTransactionCoordinatorImpl implements TransactionCoordinator {
39-
private static final CoreMessageLogger log = messageLogger( JdbcResourceLocalTransactionCoordinatorImpl.class );
4039

4140
private final TransactionCoordinatorBuilder transactionCoordinatorBuilder;
4241
private final JdbcResourceTransactionAccess jdbcResourceTransactionAccess;
@@ -92,7 +91,7 @@ public TransactionDriver getTransactionDriverControl() {
9291
@Override
9392
public void explicitJoin() {
9493
// nothing to do here, but log a warning
95-
log.callingJoinTransactionOnNonJtaEntityManager();
94+
JDBC_MESSAGE_LOGGER.callingJoinTransactionOnNonJtaEntityManager();
9695
}
9796

9897
@Override
@@ -151,7 +150,7 @@ private void afterBeginCallback() {
151150
// report entering into a "transactional context"
152151
transactionCoordinatorOwner.startTransactionBoundary();
153152

154-
log.trace( "Notifying resource-local transaction observers after begin" );
153+
JDBC_LOGGER.trace( "Notifying resource-local transaction observers after begin" );
155154

156155
// trigger the Transaction-API-only after-begin callback
157156
transactionCoordinatorOwner.afterTransactionBegin();
@@ -163,7 +162,7 @@ private void afterBeginCallback() {
163162
}
164163

165164
private void beforeCompletionCallback() {
166-
log.trace( "Notifying resource-local transaction observers before completion" );
165+
JDBC_LOGGER.trace( "Notifying resource-local transaction observers before completion" );
167166
try {
168167
transactionCoordinatorOwner.beforeTransactionCompletion();
169168
synchronizationRegistry.notifySynchronizationsBeforeTransactionCompletion();
@@ -181,7 +180,7 @@ private void beforeCompletionCallback() {
181180
}
182181

183182
private void afterCompletionCallback(boolean successful) {
184-
log.trace( "Notifying resource-local transaction observers after completion" );
183+
JDBC_LOGGER.trace( "Notifying resource-local transaction observers after completion" );
185184
final int statusToSend = successful ? Status.STATUS_COMMITTED : Status.STATUS_ROLLEDBACK;
186185
synchronizationRegistry.notifySynchronizationsAfterTransactionCompletion( statusToSend );
187186
transactionCoordinatorOwner.afterTransactionCompletion( successful, false );
@@ -231,7 +230,7 @@ public void begin() {
231230

232231
protected void errorIfInvalid() {
233232
if ( invalid ) {
234-
throw new IllegalStateException( "Physical-transaction delegate is no longer valid" );
233+
throw new IllegalStateException( "Physical transaction delegate is no longer valid" );
235234
}
236235
}
237236

@@ -263,14 +262,14 @@ private void commitNoRollbackOnly() {
263262
}
264263
catch (RuntimeException e2) {
265264
e.addSuppressed( e2 );
266-
log.debug( "Encountered failure rolling back failed commit", e2 );
265+
JDBC_LOGGER.debug( "Encountered failure rolling back failed commit", e2 );
267266
}
268267
throw e;
269268
}
270269
}
271270

272271
private void commitRollbackOnly() {
273-
log.trace( "On commit, transaction was marked for rollback only, rolling back" );
272+
JDBC_LOGGER.trace( "On commit, transaction was marked for rollback only, rolling back" );
274273
rollback();
275274
if ( jpaCompliance.isJpaTransactionComplianceEnabled() ) {
276275
throw new RollbackException( "Transaction was marked for rollback only" );
@@ -301,8 +300,8 @@ public TransactionStatus getStatus() {
301300
@Override
302301
public void markRollbackOnly() {
303302
if ( getStatus() != TransactionStatus.ROLLED_BACK ) {
304-
if ( log.isTraceEnabled() ) {
305-
log.trace( "JDBC transaction marked for rollback only (exception provided for stack trace)",
303+
if ( JDBC_LOGGER.isTraceEnabled() ) {
304+
JDBC_LOGGER.trace( "JDBC transaction marked for rollback only (exception provided for stack trace)",
306305
new Exception( "exception just for purpose of providing stack trace" ) );
307306
}
308307
rollbackOnly = true;

0 commit comments

Comments
 (0)