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
@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
Did you find a solution to this ?