From d4bec166f798f5e3fc03957705f5a5cee3d3b798 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Mon, 26 Jun 2023 21:30:01 +1200 Subject: [PATCH] #3109 Fix for JtaTransactionManager when no active transaction The call to registry() can throw an exception so pulling that inside the try catch block and handle that as no active transaction returning null. --- .../server/transaction/JtaTransactionManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/JtaTransactionManager.java b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/JtaTransactionManager.java index 3f5ac0159..37b8827c2 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/JtaTransactionManager.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/JtaTransactionManager.java @@ -78,8 +78,9 @@ public final class JtaTransactionManager implements ExternalTransactionManager { */ @Override public Object getCurrentTransaction() { - TransactionSynchronizationRegistry syncRegistry = registry(); + TransactionSynchronizationRegistry syncRegistry; try { + syncRegistry = registry(); SpiTransaction t = (SpiTransaction) syncRegistry.getResource(EBEAN_TXN_RESOURCE); if (t != null) { // we have already seen this transaction