AnsweredAssumed Answered

Activiti in Tomcat docker container -Issues

Question asked by amal.v on Jan 31, 2018
Latest reply on Feb 5, 2018 by ryandawson

hi all!!

I am a newbie to Activiti

 

For the past few days i have been trying to set up Activiti in a Tomcat Docker container.My knowledge on the working of activiti and the back-end processes are very limited . But i will try my best to convey my issues.

 

  • I deployed Activiti in 2 different Tomcat's Docker Containers.

                - Activiti_container1 running on port 8080

                - Activiti_container2 running on port 8081

  • These Activiti's are connected to an Oracle Database and hosts the work-flows of an application.
  • The requests to these containers are distributed via a Load Balancer.
  • Everything works fine except for the components in the application that uses signals.These components triggers heavyweight  processes and requires time to execute and hence uses signals to acknowledge the updates of the action at the front end.

 

Here is the log I get :

 

10:25:11,500 [pool-2-thread-1] ERROR org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable - exception during job execution: JobEntity [id=49054095] was updated by another transaction concurrently
org.activiti.engine.ActivitiOptimisticLockingException: JobEntity [id=49054095] was updated by another transaction concurrently
at org.activiti.engine.impl.db.DbSqlSession$CheckedDeleteOperation.execute(DbSqlSession.java:295)
at org.activiti.engine.impl.db.DbSqlSession.flushRegularDeletes(DbSqlSession.java:922)
at org.activiti.engine.impl.db.DbSqlSession.flushDeletes(DbSqlSession.java:888)
at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:613)
at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:212)
at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:138)
at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:66)
at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45)
at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31)
at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40)
at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35)
at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.handleMultipleJobs(ExecuteJobsRunnable.java:94)
at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.run(ExecuteJobsRunnable.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
1.517394329435E12

 

People with more expertise say that it might work fine if there is only one Activiti container.

 

Can anyone help me solve this issue or help me understand the issue??

 

Thanks a lot !!

Outcomes