Hello

I created a ruleflow like this one:
http://i41.tinypic.com/2efmctx.jpg

And this is the rule package (rules are demonstrative only and one per group, but later on more will be added in each group.

package package1

#list any import classes here.
...


#declare any global variables here
...


rule "start workflow"
    salience 1000
    when
        eval (true)
    then
        System.out.println("matchata regola start");
        drools.getWorkingMemory().startProcess("rf_main");

end   

rule "Preferenza"
    ruleflow-group "modParams"
    when
        nRound : NumeroRound( n : numeroRound)
        pw : PreferenceWrapper(round == n ,pref : preference)
       
    then
        pw.setRound(n+1);
        System.out.println("matchata regola pref");
        System.out.println("preferenza: "+ pref.getName());
       
end

rule "query for results"
   
    ruleflow-group "queryResult"
    when
        #conditions
        nRound : NumeroRound(n : numeroRound)
    then
        #actions
        System.out.println("matchata regola query");
...
end

rule "fasulla"
   
    ruleflow-group "fasullo"
    when
        eval (true)
    then
        #actions
        System.out.println("sei fasullo1");
       
end



In the ruleflow, the join node is XOR type.
Split node is XOR type and checks with the object NumeroRound and the variable numeroRound which is an int. If it is big enough it exits, else continue to "fasullo" group

the issue is that the matching goes through "modParams" group, then "queryResult" group, then "fasullo" group, but after that it freezes, instead of going angain in group "modParams". Note that it doesnt finish the execution, it waits something.

What is wrong with this ruleflow?

thanks in advance,
Alessandro Terrinoni


Scegli fra pił di 30 stazioni! Ascolta la radio su Messenger