Alessandro,
Not sure what the XOR constraint looks like exactly, but if you are
using a rule constraint and it is referencing the NumeroRound object in
working memory, are you notifying the engine when this number is changed
(as I didn't see any update statements in your rules).
To figure out what is going on exactly, I recommend adding an audit log
listener to your session (either to console or to file which can then be
visualized in eclipse as a tree). This will give you a clear idea on
which nodes have been triggered and why. For more information see the
docs here:
https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/t...
https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/t...
Kris
Quoting Alessandro Terrinoni <aleterrinoni(a)hotmail.com>:
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
_________________________________________________________________
Chiama gratis dal tuo PC! Parla su Messenger
http://clk.atdmt.com/GBL/go/140630369/direct/01/