Aziz,
The order example can be executed using what we call "advanced execution
mode". In that case, you are not automatically going from one node to
the other in your process all the time, but we allow other rules to
intervene and possibly override the default behaviour. The logging
rules and assignment rules in the example show how to add additional
behaviour in this advanced execution mode.
However, because advanced execution mode is still experimental (as very
powerful and the user needs to know much more internal details to use
them effectively), so we did not enable it by default. If you want to
enable advanced execution mode, add this line before adding the
knowledge packages to the knowledge base:
((InternalRuleBase) ((KnowledgeBaseImpl) kbase).getRuleBase())
.getConfiguration().setAdvancedProcessRuleIntegration(true);
Kris
Quoting Aziz Boxwala <boxwala(a)yahoo.com>:
I am trying to execute a ruleflow and use rules to assign tasks
within the ruleflow in Drools 5.0.1. I have a drl file included in my
knowledge base that tries to assign a task to a user when a new human
task is created. This is based on the example in
org.drools.example.process.order. I can't get my code to work. I
don't the rules in the example are working either (dslr for the task
assignment or the drl for dynamic logging). After some attempts, I
found that this condition
WorkItemNodeInstance()
does not evaluate to true ever.
Do I have to do anything special to make the WorkItemNodeInstance
appear in working memory?
Thanks for any help.
--Aziz
Disclaimer:
http://www.kuleuven.be/cwis/email_disclaimer.htm