Minor refactoring in AbstractPlatformTransactionManager
See gh-24493
This commit is contained in:
parent
97ba00eff2
commit
a09f02f64e
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2019 the original author or authors.
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -25,6 +25,7 @@ import org.apache.commons.logging.Log;
|
|||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.springframework.core.Constants;
|
||||
import org.springframework.lang.NonNull;
|
||||
import org.springframework.lang.Nullable;
|
||||
import org.springframework.transaction.IllegalTransactionStateException;
|
||||
import org.springframework.transaction.InvalidTimeoutException;
|
||||
|
|
@ -370,12 +371,7 @@ public abstract class AbstractPlatformTransactionManager implements PlatformTran
|
|||
logger.debug("Creating new transaction with name [" + def.getName() + "]: " + def);
|
||||
}
|
||||
try {
|
||||
boolean newSynchronization = (getTransactionSynchronization() != SYNCHRONIZATION_NEVER);
|
||||
DefaultTransactionStatus status = newTransactionStatus(
|
||||
def, transaction, true, newSynchronization, debugEnabled, suspendedResources);
|
||||
doBegin(transaction, def);
|
||||
prepareSynchronization(status, def);
|
||||
return status;
|
||||
return openNewTransaction(def, transaction, debugEnabled, suspendedResources);
|
||||
}
|
||||
catch (RuntimeException | Error ex) {
|
||||
resume(null, suspendedResources);
|
||||
|
|
@ -393,6 +389,20 @@ public abstract class AbstractPlatformTransactionManager implements PlatformTran
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Open a new transaction with transaction definition.
|
||||
*/
|
||||
@NonNull
|
||||
private TransactionStatus openNewTransaction(TransactionDefinition def, Object transaction,
|
||||
boolean debugEnabled, @Nullable SuspendedResourcesHolder suspendedResources) {
|
||||
boolean newSynchronization = (getTransactionSynchronization() != SYNCHRONIZATION_NEVER);
|
||||
DefaultTransactionStatus status = newTransactionStatus(
|
||||
def, transaction, true, newSynchronization, debugEnabled, suspendedResources);
|
||||
doBegin(transaction, def);
|
||||
prepareSynchronization(status, def);
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a TransactionStatus for an existing transaction.
|
||||
*/
|
||||
|
|
@ -422,12 +432,7 @@ public abstract class AbstractPlatformTransactionManager implements PlatformTran
|
|||
}
|
||||
SuspendedResourcesHolder suspendedResources = suspend(transaction);
|
||||
try {
|
||||
boolean newSynchronization = (getTransactionSynchronization() != SYNCHRONIZATION_NEVER);
|
||||
DefaultTransactionStatus status = newTransactionStatus(
|
||||
definition, transaction, true, newSynchronization, debugEnabled, suspendedResources);
|
||||
doBegin(transaction, definition);
|
||||
prepareSynchronization(status, definition);
|
||||
return status;
|
||||
return openNewTransaction(definition, transaction, debugEnabled, suspendedResources);
|
||||
}
|
||||
catch (RuntimeException | Error beginEx) {
|
||||
resumeAfterBeginException(transaction, suspendedResources, beginEx);
|
||||
|
|
@ -457,12 +462,7 @@ public abstract class AbstractPlatformTransactionManager implements PlatformTran
|
|||
// Nested transaction through nested begin and commit/rollback calls.
|
||||
// Usually only for JTA: Spring synchronization might get activated here
|
||||
// in case of a pre-existing JTA transaction.
|
||||
boolean newSynchronization = (getTransactionSynchronization() != SYNCHRONIZATION_NEVER);
|
||||
DefaultTransactionStatus status = newTransactionStatus(
|
||||
definition, transaction, true, newSynchronization, debugEnabled, null);
|
||||
doBegin(transaction, definition);
|
||||
prepareSynchronization(status, definition);
|
||||
return status;
|
||||
return openNewTransaction(definition, transaction, debugEnabled, null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue