flowable/flowable-engine · error · TransactionException
Unable to suspend transaction
Error message
Unable to suspend transaction
What it means
Infrastructure failure in JtaTransactionInterceptor.doSuspend: transactionManager.suspend() threw a SystemException while the interceptor tried to suspend the current transaction around command execution. Wrapped as TransactionException; points at JTA-level trouble rather than application logic.
Solutions
- Check transaction manager state and server logs for the underlying SystemException
- Avoid requiresNew propagation when the transaction manager cannot suspend
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/interceptor/JtaTransactionInterceptor.java:103 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/da0deaccfedd2e83.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/interceptor/JtaTransactionInterceptor.java:103
transactionManager.begin();
} catch (NotSupportedException | SystemException e) {
throw new TransactionException("Unable to begin transaction", e);
}
}
private boolean isExisting() {
try {
return transactionManager.getStatus() != Status.STATUS_NO_TRANSACTION;
} catch (SystemException e) {
throw new TransactionException("Unable to retrieve transaction status", e);
}
}
private Transaction doSuspend() {
try {
return transactionManager.suspend();
} catch (SystemException e) {
throw new TransactionException("Unable to suspend transaction", e);
}
}
private void doResume(Transaction tx) {
if (tx != null) {
try {
transactionManager.resume(tx);
} catch (SystemException | InvalidTransactionException e) {
throw new TransactionException("Unable to resume transaction", e);
}
}
}
private void doCommit() {
try {
transactionManager.commit();
} catch (HeuristicMixedException | SystemException | RollbackException | HeuristicRollbackException e) {
throw new TransactionException("Unable to commit transaction", e);View on GitHub (pinned to d6d39ce1c6)