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

  1. Verify the JTA TransactionManager is correctly configured and reachable
  2. 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)