Excellent information, thank you
Kris Verlaenen wrote: > > Currently, the reference to the subflow indeed needs to be explicitly > specified in the ruleflow. Once we have ruleflow variable support, it > will > be possible to use a variable that contains the name of the process to > start. But that is currently not yet supported. > > However, as you have noticed correctly, you can just use > drools.getWorkingMemory().startProcess() inside your rules to start a > subflow. However, this call will return once the process has been started > (and possibly already finished but this is usually not the case). If you > want to wait until the subflow process has been terminated, you should > probably register a RuleFlowListener that updates the working memory with > some kind of event if a subflow has been completed, and use a milestone > node > to wait for that event before continuing with the cleanup. Basically, > this > is almost the same as how it is implemented internally. > > Kris > > ----- Original Message ----- > From: "james_d" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Friday, November 02, 2007 9:45 PM > Subject: [rules-users] Dynamically selecting a subflow at runtime > > >> >> Hi, >> >> When creating a ruleflow, is there a mechanism that allows me to select >> which subflow is executed at runtime? I don't want to have to hardcode a >> specific subflow in the Ruleflow GUI/editor. >> >> Here's a contrived example of what I'm attempting to do: >> >> If the following subflows exist: bake cookies, "bake pizza", "grill >> steaks", >> "fry fish", etc., I'd like to have a ruleflow with the following >> rulegroups: |Start| -> Get Order -> Make food -> Cleanup -> |Repeat|. >> For >> a >> requested order, the corresponding subflow is invoked at the "Make food" >> stage then the process repeats. >> >> I saw that calling drools.getWorkingMemory().startProcess(...) might be >> an >> option, however I'm not sure that this will return control to the >> original >> ruleflow when done (causing the "Cleanup" group to not get executed). If >> I >> try to use the subflow widget in the Ruleflow GUI I have to explicitly >> name >> the subflow I want invoked. >> >> thank you >> >> >> -- >> View this message in context: >> http://www.nabble.com/Dynamically-selecting-a-subflow-at-runtime-tf4728437.html#a13520181 >> Sent from the drools - user mailing list archive at Nabble.com. >> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > > -- View this message in context: http://www.nabble.com/Dynamically-selecting-a-subflow-at-runtime-tf4728437.html#a13569670 Sent from the drools - user mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
