From 3bba9a71793bec2df2e926c1905485dfae389ca4 Mon Sep 17 00:00:00 2001 From: Francisco Javier Tirado Sarti Date: Thu, 23 Nov 2023 11:31:15 +0100 Subject: [PATCH] [JBPM-10088] Some test failed --- .../timer/GlobalJpaTimerJobInstance.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/jbpm-persistence/jbpm-persistence-jpa/src/main/java/org/jbpm/persistence/timer/GlobalJpaTimerJobInstance.java b/jbpm-persistence/jbpm-persistence-jpa/src/main/java/org/jbpm/persistence/timer/GlobalJpaTimerJobInstance.java index 4192523c80..16b7de1cfb 100644 --- a/jbpm-persistence/jbpm-persistence-jpa/src/main/java/org/jbpm/persistence/timer/GlobalJpaTimerJobInstance.java +++ b/jbpm-persistence/jbpm-persistence-jpa/src/main/java/org/jbpm/persistence/timer/GlobalJpaTimerJobInstance.java @@ -159,18 +159,23 @@ protected boolean hasEnvironmentEntry(Environment environment, String name, Obje } protected TransactionManager startTxIfNeeded(Environment environment) { - try { - boolean isTimerCMT = hasEnvironmentEntry(environment, "IS_TIMER_CMT", true); - logger.debug ("Timer CMT value is {}", isTimerCMT); - if (!isTimerCMT) { - TransactionManager tm = TransactionManagerFactory.get().newTransactionManager(); - if (tm.begin()) { - return tm; - } - } + + try { + if (hasEnvironmentEntry(environment, "IS_TIMER_CMT", true)) { + return null; + } + if (environment.get(EnvironmentName.TRANSACTION_MANAGER) instanceof ContainerManagedTransactionManager) { + TransactionManager tm = TransactionManagerFactory.get().newTransactionManager(); + + if (tm.begin()) { + return tm; + } + } + } catch (Exception e) { logger.debug("Unable to optionally start transaction due to {}", e.getMessage(), e); } + return null; }