AmiraTalbi You exactly understand the problem... and you are right, it is not specifically a jBpm issue. There is a resource (the process instance) that needs to be "used/updated" by each thread in turn, not all at once.
The reason I did not want to use your suggestion is that I think that this would block all traffic... In 60 seconds I may have 1,000 incoming events/threads, destined for 950 different process instances. In the vast majority of cases there is no contention and i could, in theory, process 950 process instances in parallel... with only 50 blocking. The only solution that I can think of is to either use the jBpm lock facility OR to have an external locking process. 1) Using the jBpm lock facility | long pid = 123; | JbpmContext jC = jbpmConfiguration.createJbpmContext(); | try { | ProcessInstance pI = jC.loadProcessInstanceForUpdate(pid); | pI.getRootToken().lock(Thread.currentThread().toString()); | } | finally { | jC.close(); | } | try { | ProcessInstance pI = jC.loadProcessInstanceForUpdate(pid); | pI.getRootToken().unlock(Thread.currentThread().toString()); | pI.signal(); | } | finally { | jC.close(); | } | The problem with this is it is pretty heavyweight (in terms of database updates done) and also I have to write a fair chunk of code to deal with threads that die without releasing their lock etc etc etc. 2) Implementing a a lock facility using the database, for example mysql SELECT GET_LOCK('lock1',10) The problem with this is that I need to ensure that no thread attempts to acquire a process instance without first getting a lock. Unfortunately the solution is multi node, so I am not able to do in memory locking easily. I had hoped that jBpm might have a clever way of achieving this without me having to write any code. At an abstract level I believe that this problem is similar to a process instance reaching a task node whose task could be performed by multiple actors. Presumably in this case jBpm has some mechanism to prevent multiple actors fulfilling the task. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4196919#4196919 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4196919 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user