[rules-users] Drools 4.0.7 - Rules not fired
David Sinclair
dsinclair at chariotsolutions.com
Fri May 1 09:18:48 EDT 2009
Benoit,
Could you try this with Drools 5 to see if you still have problems? I just
tried with that and each rule fired as expected.
2008/8/20 Benoit VILLAUMIE <bvillaumie at karavel.com>
> Hello,
>
> I am using Drools engine 4.0.7 and Eclipse 3.3 drools plugin.
>
> I have a very basic/dumb problem but I do not understand where my error is
> :
>
> I have 2 rules
> ---------------------------------
>
> package poc
>
> import poc.FlashFact;
>
> *rule "HP one"*
> when
> FlashFact( homepage == "one");
> then
> System.out.println("*** HP one");
> end
>
> *rule "HP commons"*
> when
> FlashFact();
> then
> System.out.println("*** HP commons ");
> end
>
> ----------------------------------
>
> I insert a FlashFact which homepage is set with "one" value.
>
> In my understanding, both rules "HP one" and "HP commons" should be fired.
> Instead, only "HP commons" is launched. I have compared with the Drools
> State example (which works fine), but I do not notice nothing.
>
> Thanks for your help.
>
> The code of the FlashFact class
> ---------------------------------
>
> package poc;
>
> public class FlashFact {
>
> public FlashFact() {
> this(null);
> }
>
> public FlashFact(String homepage) {
> this.setHomepage(homepage);
> }
>
> private String homepage;
>
> /**
> * @return the homepage
> */
> public final String getHomepage() {
> return this.homepage;
> }
>
> /**
> * @param homepage the homepage to set
> */
> public final void setHomepage(String homepage) {
> this.homepage = homepage;
> }
>
> }
>
> ---------------------------------
>
> The code of the launcher
> ---------------------------------
> package poc;
>
> import java.io.InputStreamReader;
>
> import org.drools.RuleBase;
> import org.drools.RuleBaseFactory;
> import org.drools.StatefulSession;
> import org.drools.audit.WorkingMemoryFileLogger;
> import org.drools.compiler.PackageBuilder;
>
> public class FlashUndeployedRulesMain {
>
> public static void main(String[] args) throws Exception {
> StatefulSession session = null;
> WorkingMemoryFileLogger logger = null;
> try {
> PackageBuilder builder = new PackageBuilder();
> builder.addPackageFromDrl(new InputStreamReader(
> FlashUndeployedRulesMain.class.getClassLoader()
> .getResourceAsStream(RULE)));
> final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
> ruleBase.addPackage(builder.getPackage());
> session = ruleBase.newStatefulSession();
>
> logger = new WorkingMemoryFileLogger(
> session);
> logger.setFileName("log/flash");
>
> // inserting facts
> FlashFact HPFrance = new FlashFact("one");
>
> session.insert(HPFrance);
>
> session.fireAllRules();
> } finally {
> if(session != null) {session.dispose();}
> if(logger != null) {logger.writeToDisk();}
> }
> }
>
> private static final String RULE = "poc/Flash.drl";
> ---------------------------------
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090501/82fb2481/attachment.html
More information about the rules-users
mailing list