You are confusing jBPM processes and Java threads.

You can interrupt the thread SessionThread, but that's not reliable
(if IE is handled, for instance),

Best would be to call fireUntilHalt() and call the session's halt method.

But why would you want to do this sort of weird thing?

-W


On 15/05/2012, mike <mike...@gmail.com> wrote:
> Hi there,
>
> Is there any way to kill a running session?
>
> I've been trying with StatefulKnowledgeSession.abortProcessInstance but i
> can't get it working.
>
> For instance .. I got this drl
>
> rule "infinite loop"
>     when x : Integer()
>     then
>          System.out.println(x);
>          Thread.sleep(100);
>           insert(x + 1);
> end
>
> n' this Thread
>
> public class SessionThread implements Runnable {
>  private StatefulKnowledgeSession session;
> public SessionThread(StatefulKnowledgeSession session) { this.session =
> session; }
>          public void run() { session.fireAllRules(); }
> }
>
> then i create a session with the drl n' do something like ...
>
> session.insert(42);
> Thread thread = new Thread(new SessionThread(session));
> thread.start();
>                 Thread.sleep(1000);
> session.abortProcessInstance(thread.getId());
>
> I've tried diff processInstanceIds and session.getProcessInstances() but
> nothing seems to stop the running session
>
> Thank you
> Mike
>
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to