1 2 Previous Next 18 Replies Latest reply on Aug 1, 2007 4:55 AM by Lior Ban

    JBPM - concurrent process execution fails

    efi plotkin Newbie

      In my deployment, I use a pool of MDBs to start a number of workflows.

      The workflows progress from node to node, collecting objects in hibernate session, and at some state they fire a message to (another) queue. After that, the finally { jbpmContext.close() } is reached, and the session begins to flush.

      In the meantime, in some other place in the galaxy, another pool of MDBs receives the messages and starts processing on them. First thing that is done is jbpmContext.loadProcessInstanceForUpdate(id); at which state the execution fails with Hibernate exceptions, like

      org.hibernate.HibernateException: null index column for collection: org.jbpm.graph.exe.ProcessInstance.instances
      org.hibernate.LazyInitializationException: illegal access to loading collection

      At this stage, I cannot even end or cancel my token, since the processInstance is not loaded correctly.

      As a result, my workflow stays in zombie state and actually never ends.

      We use JBoss 4.0.5, Hibernate, Spring, MySQL (tried with all isolation levels) and jBPM 3.2.

      Any suggestions on how to make sure the processInstance is fully saved to the DB before I read it? No mutexes can help here because of clustered deployment.

      Thanks in advance.

        1 2 Previous Next