1 Reply Latest reply on Feb 28, 2010 1:13 AM by kukeltje.ronald.jbpm.org

    JBPM concurrency issues

    c0upal

      I'm having a problem (or bug) in seam JBPM.


      In the DVD Store Demo, I opened up two browsers logged in with two different usernames i.e. user1 and user2 and they are in the same Group to complete a task.


      Initially upon login they both have identical list of tasks. 
      example


      Task1  Assign
      Task2  Assign
      Task3  Assign


      First user1 clicks on Assign link in Task1 so in his browser, Task1 has been removed from his list.


      But in user2's browser, he can still see Task1 which was already picked by user1 so when he clicks Task1 assign, the new actor now becomes user2.


      the application should trap user2's click, it should issue an error saying that the Task has been assigned already.


      Can Seam or JBPM handle those issues implicitly, or should the developer handle it by himself?

        • 1. Re: JBPM concurrency issues
          kukeltje.ronald.jbpm.org

          For jBPM this is nothing more than a 'reassign' since it has no real reassign. So if you want this to be prevented and use the Seam jBPM annotations, it should be 'fixed' in those by checking if it already is assigned or not. If you do not use these, you can do the check yourself. Personally, I did not use the seam annotations for jBPM because they only provided 30% of what I needed. I did everything in code.


          Thinking about this though, a new jBPM 4 set of annotations would be cool. Maybe I should start working one day (if I find the time or someone pays me ;-))