Transactional Exception by using BpmnError

Hello!

When I use a distributed transaction, I get an exception when throwing a BPMNError.

The following test process was used for this:

If I throw a BPMNError in Service Task B, I get the following exception from flowable:

ā†’ see next post for Exception because I exceeded the length of the post :sweat_smile:

@Named("serviceTaskBDelegate")
@Transactional
public class ServiceTaskBDelegate implements JavaDelegate {

    @PersistenceContext(unitName = "FlowableAppPU")
    private EntityManager entityManager;

    @Override
    public void execute(DelegateExecution execution) {
        Long executionId = execution.getVariable("executionId", Long.class);

        entityManager.persist(new History(executionId, ServiceTaskBDelegate.class.getName(), "--> Service Task B - executed"));

        System.out.println("--> Service Task B - executed");

        throw new BpmnError("Test Error Boundary - Delegate B");
    }
}

I am using a distributed transaction for this, spanning the Flowable Engine database and my database. For this, I have defined two XA datasources in Wildfly:

<xa-datasource jndi-name="java:jboss/datasources/FlowableAppDS" pool-name="FlowableAppDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
    <xa-datasource-property name="URL">
        jdbc:sqlserver://localhost:1433;databaseName=flowable-poc-db;encrypt=false;integratedSecurity=false;verifyServerCertificate=false;useSSL=false;requireSSL=false
    </xa-datasource-property>
    <driver>sqlserver</driver>
    <security>
        <user-name>test</user-name>
        <password>test</password>
    </security>
</xa-datasource>
<xa-datasource jndi-name="java:jboss/datasources/FlowableEngineDS" pool-name="FlowableEngineDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
    <xa-datasource-property name="URL">
        jdbc:sqlserver://localhost:1433;databaseName=flowabledb;encrypt=false;integratedSecurity=false;verifyServerCertificate=false;useSSL=false;requireSSL=false
    </xa-datasource-property>
    <driver>sqlserver</driver>
    <security>
        <user-name>test</user-name>
        <password>test</password>
    </security>
</xa-datasource>

The ProcessEngine is configured in the following way:

public class FlowableProcessEngineLookup implements ProcessEngineLookup {

  // ...

  private ProcessEngine init() {
      try {
          InitialContext ctx = new InitialContext();
          TransactionManager transactionManager = (TransactionManager) ctx.lookup("java:/TransactionManager");

          CdiJtaProcessEngineConfiguration cfg = new CdiJtaProcessEngineConfiguration();
          cfg.setDataSourceJndiName("java:jboss/datasources/FlowableEngineDS");
          cfg.setTransactionManager(transactionManager);

          return cfg.buildProcessEngine();
      } catch (NamingException e) {
          throw new RuntimeException(e);
      }
  }

1. What is the desired behaviour in that situation?
2. Has someone an idea what I do wrong?
3. Is there more information needed?

Additional Info:
Java Version: 11.0.18
Java EE 8 without Spring

15:22:18,222 INFO  [stdout] (ServerService Thread Pool -- 24) --> Process started
15:22:18,246 INFO  [stdout] (ServerService Thread Pool -- 24) --> Service Task A Listener - executed
15:22:18,264 INFO  [stdout] (ServerService Thread Pool -- 24) --> Service Task A - executed
15:22:18,283 INFO  [stdout] (ServerService Thread Pool -- 24) --> Service Task A Listener - executed
15:22:18,308 INFO  [stdout] (ServerService Thread Pool -- 24) --> Service Task B Listener - executed
15:22:18,328 INFO  [stdout] (ServerService Thread Pool -- 24) --> Service Task B - executed
15:22:18,338 ERROR [org.flowable.common.engine.impl.interceptor.CommandContext] (ServerService Thread Pool -- 24) Error while closing command context: org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
### The error may exist in org/flowable/db/mapping/entity/Execution.xml
### The error may involve org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.selectSubProcessInstanceBySuperExecutionId
### The error occurred while executing a query
### SQL: select *     from ACT_RU_EXECUTION     where SUPER_EXEC_ = ?
### Cause: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
	at deployment.flowable-boundary-test.war//org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:153)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.db.DbSqlSession.selectOne(DbSqlSession.java:286)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.db.AbstractDataManager.getEntity(AbstractDataManager.java:123)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.data.impl.MybatisExecutionDataManager.findSubProcessInstanceBySuperExecutionId(MybatisExecutionDataManager.java:135)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl.findSubProcessInstanceBySuperExecutionId(ExecutionEntityManagerImpl.java:112)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.ensureSubProcessInstanceInitialized(ExecutionEntityImpl.java:582)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.getSubProcessInstance(ExecutionEntityImpl.java:571)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.getSubProcessInstance(ExecutionEntityImpl.java:65)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl.collectChildren(ExecutionEntityManagerImpl.java:718)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl.collectChildren(ExecutionEntityManagerImpl.java:695)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl.deleteChildExecutions(ExecutionEntityManagerImpl.java:664)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior.deleteChildExecutions(BoundaryEventActivityBehavior.java:153)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior.executeInterruptingBehavior(BoundaryEventActivityBehavior.java:94)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior.trigger(BoundaryEventActivityBehavior.java:56)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.agenda.TriggerExecutionOperation.run(TriggerExecutionOperation.java:59)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.AbstractEngineConfiguration.lambda$new$0(AbstractEngineConfiguration.java:195)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:130)
	at deployment.flowable-boundary-test.war//org.flowable.cdi.impl.CdiCommandInvoker.executeOperation(CdiCommandInvoker.java:47)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:114)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:72)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:26)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:66)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.RuntimeServiceImpl.startProcessInstanceByKey(RuntimeServiceImpl.java:131)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at deployment.flowable-boundary-test.war//org.flowable.engine.RuntimeService1367627240$Proxy$_$$_WeldClientProxy.startProcessInstanceByKey(Unknown Source)
	at deployment.flowable-boundary-test.war//org.example.TransactionTest.init(TransactionTest.java:26)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:85)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.injection.MethodInvocationStrategy$SimpleMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:168)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)
	at javax.enterprise.api//javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.util.Observers.notify(Observers.java:166)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.bootstrap.BeanDeploymentModule.fireEvent(BeanDeploymentModule.java:93)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.module.web.servlet.HttpContextLifecycle.fireEventForApplicationScope(HttpContextLifecycle.java:161)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.module.web.servlet.HttpContextLifecycle.contextInitialized(HttpContextLifecycle.java:147)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.module.web.servlet.WeldInitialListener.contextInitialized(WeldInitialListener.java:99)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:219)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:187)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:255)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
	at java.base/java.lang.Thread.run(Thread.java:829)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrapperDataSource.checkTransactionActive(WrapperDataSource.java:272)
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrappedConnection.checkTransactionActive(WrappedConnection.java:2007)
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrappedConnection.checkStatus(WrappedConnection.java:2022)
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrappedConnection.checkTransaction(WrappedConnection.java:1996)
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:474)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:86)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:87)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:89)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
	... 79 more

15:22:18,351 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 24) MSC000001: Failed to start service jboss.deployment.unit."flowable-boundary-test.war".undertow-deployment: org.jboss.msc.service.StartException in service jboss.deployment.unit."flowable-boundary-test.war".undertow-deployment: java.lang.RuntimeException: org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
### The error may exist in org/flowable/db/mapping/entity/Execution.xml
### The error may involve org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.selectSubProcessInstanceBySuperExecutionId
### The error occurred while executing a query
### SQL: select *     from ACT_RU_EXECUTION     where SUPER_EXEC_ = ?
### Cause: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
	at java.base/java.lang.Thread.run(Thread.java:829)
	at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: java.lang.RuntimeException: org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
### The error may exist in org/flowable/db/mapping/entity/Execution.xml
### The error may involve org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.selectSubProcessInstanceBySuperExecutionId
### The error occurred while executing a query
### SQL: select *     from ACT_RU_EXECUTION     where SUPER_EXEC_ = ?
### Cause: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:257)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
	... 8 more
Caused by: org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
### The error may exist in org/flowable/db/mapping/entity/Execution.xml
### The error may involve org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.selectSubProcessInstanceBySuperExecutionId
### The error occurred while executing a query
### SQL: select *     from ACT_RU_EXECUTION     where SUPER_EXEC_ = ?
### Cause: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
	at deployment.flowable-boundary-test.war//org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:153)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.db.DbSqlSession.selectOne(DbSqlSession.java:286)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.db.AbstractDataManager.getEntity(AbstractDataManager.java:123)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.data.impl.MybatisExecutionDataManager.findSubProcessInstanceBySuperExecutionId(MybatisExecutionDataManager.java:135)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl.findSubProcessInstanceBySuperExecutionId(ExecutionEntityManagerImpl.java:112)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.ensureSubProcessInstanceInitialized(ExecutionEntityImpl.java:582)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.getSubProcessInstance(ExecutionEntityImpl.java:571)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.getSubProcessInstance(ExecutionEntityImpl.java:65)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl.collectChildren(ExecutionEntityManagerImpl.java:718)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl.collectChildren(ExecutionEntityManagerImpl.java:695)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl.deleteChildExecutions(ExecutionEntityManagerImpl.java:664)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior.deleteChildExecutions(BoundaryEventActivityBehavior.java:153)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior.executeInterruptingBehavior(BoundaryEventActivityBehavior.java:94)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior.trigger(BoundaryEventActivityBehavior.java:56)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.agenda.TriggerExecutionOperation.run(TriggerExecutionOperation.java:59)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.AbstractEngineConfiguration.lambda$new$0(AbstractEngineConfiguration.java:195)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:130)
	at deployment.flowable-boundary-test.war//org.flowable.cdi.impl.CdiCommandInvoker.executeOperation(CdiCommandInvoker.java:47)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:114)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:72)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:26)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:66)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
	at deployment.flowable-boundary-test.war//org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
	at deployment.flowable-boundary-test.war//org.flowable.engine.impl.RuntimeServiceImpl.startProcessInstanceByKey(RuntimeServiceImpl.java:131)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at deployment.flowable-boundary-test.war//org.flowable.engine.RuntimeService1367627240$Proxy$_$$_WeldClientProxy.startProcessInstanceByKey(Unknown Source)
	at deployment.flowable-boundary-test.war//org.example.TransactionTest.init(TransactionTest.java:26)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:85)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.injection.MethodInvocationStrategy$SimpleMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:168)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)
	at javax.enterprise.api//javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.util.Observers.notify(Observers.java:166)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.bootstrap.BeanDeploymentModule.fireEvent(BeanDeploymentModule.java:93)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.module.web.servlet.HttpContextLifecycle.fireEventForApplicationScope(HttpContextLifecycle.java:161)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.module.web.servlet.HttpContextLifecycle.contextInitialized(HttpContextLifecycle.java:147)
	at org.jboss.weld.core@3.1.6.Final//org.jboss.weld.module.web.servlet.WeldInitialListener.contextInitialized(WeldInitialListener.java:99)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:219)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:187)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
	at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:255)
	... 10 more
Caused by: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrapperDataSource.checkTransactionActive(WrapperDataSource.java:272)
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrappedConnection.checkTransactionActive(WrappedConnection.java:2007)
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrappedConnection.checkStatus(WrappedConnection.java:2022)
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrappedConnection.checkTransaction(WrappedConnection.java:1996)
	at org.jboss.ironjacamar.jdbcadapters@1.4.27.Final//org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:474)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:86)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:87)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:89)
	at deployment.flowable-boundary-test.war//org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
	... 79 more