0 Replies Latest reply on Feb 26, 2009 6:51 AM by galanfish

    cancel timer failed...

    galanfish

      hi all, i am learning the lates PVM source code these days.
      i've created a timer which will call signal to of the host execution to change the normal flow.
      the process is like this:

      start --> do some --> schedule(timer)&wait ---> timeout state ---> ...
       |
       + -----------> signal to cancel timer --->....


      the problem is that, when i cancel the timer(call TimerSession#cancel(timer)), then exception cames out:

      org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [org.jbpm.pvm.internal.job.TimerImpl#26]


      i thought that i have to remove the reference of the to-be-removed-timer by the Execution instance first, then i call TimerSession#cancel(timer), but i can not find any API to remove a timer from an execution.
      or i should modify the 'cascade' attribute in the hibernate configuration file of the class 'Execution'? but i'm affraid that the modification like this would bring more unknow mistake.
      or i am totally wrong?

      appreciate!!