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 <mikemps(a)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