that's nice ... n' a bit clever ... it could work ... I mean, i could
automatically append that to all sessions given that i control compiling
the drls.
Is there any setting or something that detects infinite loops? Like it
would abort if if drools runs into an infinite loop?
I guess I could do something with fireAllRules(int max) but figuring out a
reasonable max would be fuzzy. I could also use the no-loop attribute but
it would not pick up some cases of infinite loops.
Thank you very much for you help
Cheers
Mike
On Tue, May 15, 2012 at 3:55 PM, Wolfgang Laun <wolfgang.laun(a)gmail.com>wrote:
A very low salience rule depending on nothing and calling halt will
stop
the run:
rule Exit
salience -999999999
when
then
drools.halt();
end
-W
On 15 May 2012 21:46, mike <mikemps(a)gmail.com> wrote:
> Well I got this wrong sorry. Yes I can stop a session if I start it with
> fireUntilHalt() but it never stops. I need it to finish by itself too.
>
> Thank you
> Mike
>
>
> On Tue, May 15, 2012 at 11:06 AM, mike <mikemps(a)gmail.com> wrote:
>
>> wow that worked like a charm!!! thank you very much Wolfgang, I owe u a
>> beer or something :)
>>
>> Cheers
>> Mike
>>
>>
>> On Tue, May 15, 2012 at 11:01 AM, mike <mikemps(a)gmail.com> wrote:
>>
>>> Awesome I'll try that :)
>>>
>>> We got business ppl writing rules ... Those rules are going on infinite
>>> loops quite often ... Frankly I am not excited about killing the session,
>>> for me it's just a business request that I am trying to implement
>>>
>>> Thank you very much Wolfgang
>>>
>>> Cheers
>>> Mike
>>>
>>>
>>> On Tue, May 15, 2012 at 10:53 AM, Wolfgang Laun <
>>> wolfgang.laun(a)gmail.com> wrote:
>>>
>>>> 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
>>>> >
>>>> _______________________________________________
>>>> rules-users mailing list
>>>> rules-users(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>>
>>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users