flowable/flowable-engine · error · FlowableException
Could not determine the current status of the transaction…
Error message
Could not determine the current status of the transaction manager:
What it means
Wrapper thrown by JtaRetryInterceptor.calledInsideTransaction: querying the JTA TransactionManager for the current transaction status raised SystemException, so the interceptor cannot decide whether retry logic applies.
Solutions
- Verify the JTA TransactionManager is correctly configured and reachable
- Check application-server transaction service health and the cause of the SystemException
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/interceptor/JtaRetryInterceptor.java:52 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/fa31aa2dfa4b12ce.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/interceptor/JtaRetryInterceptor.java:52
public JtaRetryInterceptor(TransactionManager transactionManager) {
this.transactionManager = transactionManager;
}
@Override
public <T> T execute(CommandConfig config, Command<T> command, CommandExecutor commandExecutor) {
if (calledInsideTransaction()) {
LOGGER.trace("Called inside transaction, skipping the retry interceptor.");
return next.execute(config, command, commandExecutor);
} else {
return super.execute(config, command, commandExecutor);
}
}
protected boolean calledInsideTransaction() {
try {
return transactionManager.getStatus() != Status.STATUS_NO_TRANSACTION;
} catch (SystemException e) {
throw new FlowableException("Could not determine the current status of the transaction manager: " + e.getMessage(), e);
}
}
}
View on GitHub (pinned to d6d39ce1c6)