[rules-users] Drools 5 setGlobal
Samuli Saarinen
samuli.saarinen at remion.com
Tue Jun 22 08:22:10 EDT 2010
Removing the insert command has no effect on the outcome.
Mauricio Salatino wrote:
> yes you are right.. did you try removing the insert cmd from the second
> code snippet?
> just to have the same scenario?
> The first code should fail as the second. With the message Unexpected
> global [test2]
>
> On Tue, Jun 22, 2010 at 8:40 AM, Samuli Saarinen
> <samuli.saarinen at remion.com <mailto:samuli.saarinen at remion.com>> wrote:
>
> Actually I am trying to set an unexistent variable (test2) in both
> snippets. But for some reason only the second one produces the
> exception.
>
> Samuli
>
> Salaboy wrote:
> > Well, in the second code snippet you are trying to set an unexistent
> > variable called test2. For setting a global variable you need to
> > define it first in the drl file. Greetings!
> >
> > - CTO @ http://www.plugtree.com
> > - MyJourney @ http://salaboy.wordpress.com
> > - Co-Founder @ http://www.jbug.com.ar
> > - Mauricio "Salaboy" Salatino -
> >
> > On Jun 22, 2010, at 4:32, Samuli Saarinen
> <samuli.saarinen at remion.com <mailto:samuli.saarinen at remion.com>>
> > wrote:
> >
> >> Hello,
> >>
> >> I'm new to drools and have problems with globals or with the
> different
> >> behaviour of drools depending on how the globals are specified.
> >>
> >> I have the following simple rule:
> >>
> >> global String test
> >>
> >> rule "Global"
> >> when
> >> then
> >> System.out.println(test);
> >> end
> >>
> >> If i run the rule with:
> >>
> >> KnowledgeBase kb = getKnowledgeBase("global.drl");
> >> StatelessKnowledgeSession ses = kb.newStatelessKnowledgeSession();
> >> ses.setGlobal("test2", "foo");
> >> ses.execute("");
> >>
> >> I get the expected result of null printed
> >>
> >> but if I use commands:
> >>
> >> KnowledgeBase kb = getKnowledgeBase("global.drl");
> >> StatelessKnowledgeSession ses = kb.newStatelessKnowledgeSession();
> >> List<Command<?>> cmds = new ArrayList<Command<?>>();
> >> cmds.add(CommandFactory.newSetGlobal("test2", "bar"));
> >> cmds.add(CommandFactory.newInsert(""));
> >> ses.execute(CommandFactory.newBatchExecution(cmds));
> >>
> >> I get java.lang.RuntimeException: Unexpected global [test2]
> >>
> >> Why is the behaviour different and which one is correct?
> >>
> >> Regards,
> >>
> >> Samuli
> >>
> >>
> >> --
> >> Remion Oy Etävalvontajärjestelmät liiketoiminnan
> >> Samuli Saarinen tehostamiseen
> >> gsm +358 (0)50 3560075
> >> fax +358 (0)3 2125064 www.remion.com <http://www.remion.com>
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> > --
> > STOP Virus, STOP SPAM, SAVE Bandwidth!
> > http://www.safentrix.com/adlink?cid=0
> > -
>
>
>
> --
> Remion Oy Etävalvontajärjestelmät liiketoiminnan
> Samuli Saarinen tehostamiseen
> gsm +358 (0)50 3560075
> fax +358 (0)3 2125064 www.remion.com <http://www.remion.com>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> --
> - CTO @ http://www.plugtree.com
> - MyJourney @ http://salaboy.wordpress.com
> - Co-Founder @ http://www.jbug.com.ar
>
> - Salatino "Salaboy" Mauricio -
>
> ------------------------------------------------------------------------
> STOP Virus, STOP SPAM, SAVE Bandwidth!
> www.safentrix.com <http://www.safentrix.com/adlink?cid=0>
> ------------------------------------------------------------------------
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
--
Remion Oy Etävalvontajärjestelmät liiketoiminnan
Samuli Saarinen tehostamiseen
gsm +358 (0)50 3560075
fax +358 (0)3 2125064 www.remion.com
More information about the rules-users
mailing list