business rule task will fire all rules from defined ruleflow group if they are activated - activation means there are matching facts in ksession so rules can execute. What is most likely happening in your case is that you activate rules after your process has been completed because you insert facts after starting process. So if you change the order of method invocation on ksession to be like this:
then your rules will be fired from within process instance and no need to have explicit call to ksession.fireAllRules
In addition, declaration of inputs/outputs on business rule task is not mandatory and is only used to insert/delete facts before/after executing business rule task node.
Thanks for your reply Maciej!
I have rules in my .drl file that corresponds to the objects that I inserted with ksession.insert. For example:
ksession.insert(Person); where Person has the variable age.
rule "age less than 10"
$age: (Person > 10)
System.out.println("Greater than 10");
Is this what you mean by activated? As in the facts of the rules are matching the object? I reorganized the insert and startprocess commands but now instead of executing the rules the ruletask node is skipped completely...