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.saari...@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 >> _______________________________________________ >> rules-users mailing list >> rules-users@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > rules-users@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 _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users