[rules-users] Drools 5 setGlobal
Samuli Saarinen
samuli.saarinen at remion.com
Tue Jun 22 07:40:03 EDT 2010
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>
> 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 at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
> _______________________________________________
> rules-users mailing list
> 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
More information about the rules-users
mailing list