Skip to content

Commit

Permalink
Use same transaction manager in one transaction
Browse files Browse the repository at this point in the history
  • Loading branch information
FlyingZC committed Dec 30, 2024
1 parent 8d6327f commit 7632ea2
Showing 1 changed file with 6 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,14 @@ public BackendTransactionManager(final ProxyDatabaseConnectionManager databaseCo
connection = databaseConnectionManager;
localTransactionManager = new LocalTransactionManager(databaseConnectionManager);
TransactionRule transactionRule = ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getSingleRule(TransactionRule.class);
TransactionConnectionContext transactionContext = getTransactionContext();
transactionType = transactionRule.getDefaultType();
ShardingSphereTransactionManagerEngine engine = transactionRule.getResource();
distributedTransactionManager = null == engine ? null : engine.getTransactionManager(transactionType);
if (transactionContext.getTransactionManager().isPresent()) {
distributedTransactionManager = (ShardingSphereDistributedTransactionManager) transactionContext.getTransactionManager().get();
} else {
distributedTransactionManager = null == engine ? null : engine.getTransactionManager(transactionType);
}
transactionHooks = OrderedSPILoader.getServices(TransactionHook.class, ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules());
}

Expand Down

0 comments on commit 7632ea2

Please sign in to comment.