AnsweredAssumed Answered

potentiality and limits of Activiti Engine

Question asked by deepyou on Nov 9, 2012
Latest reply on Nov 19, 2012 by jbarrez
Hi all, I've some questions about Potentiality of Activiti Engine. The Problem that i'm going to show you is not for us just a simple technical trouble about Activiti but We need to know if is a Limitation of Activiti Engine or is our Problem

We're going to develop a platform based on a BPMN Engine. Our choise is on Activiti Engine, but in our potentiality tests we have different problems, so we want to know if this problem is just because we're not able to use well the Activiti Engine or because the Activiti Engine has technical limits.

I try to explain main problem, in our OSGi Container (Apache Karaf):

1) It's possible execute two service tasks (or more) that runs concurrently and use the same JavaDelegate Class called with DelegateExpression and injiect in this class a value (one for each istance of service tasks).?

The process is some like this:
[img]https://dl.dropbox.com/u/5368083/bookorder.spring.jpg[/img]

The Service Tasks are setted with:
 activiti:async="true" activiti:exclusive="false"

When I deploy the process in my Apache Karaf Container I've the follow exception:
org.activiti.engine.ActivitiOptimisticLockingException: ExecutionEntity[3831] was updated by another transaction concurrently
at org.activiti.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:474)[71:org.activiti.engine:5.10.0]
at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:370)[71:org.activiti.engine:5.10.0]
at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:157)[71:org.activiti.engine:5.10.0]
at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:109)[71:org.activiti.engine:5.10.0]
at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:49)[71:org.activiti.engine:5.10.0]
at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)[71:org.activiti.engine:5.10.0]
at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.run(ExecuteJobsRunnable.java:46)[71:org.activiti.engine:5.10.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_35]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_35]
at java.lang.Thread.run(Thread.java:662)[:1.6.0_35]

What we want to know is: is possible have a activiti process that run operation in parallel with java class and deploy all process in Apache Karaf OSGi Container?
If is possible can someone suggest a way to follow.
Please help us this is an important technical node for Activiti Engine capability.
Regards.
Gaetano

Outcomes