Still, accessing the class field com.sample.Server.Message in eval() in this way is almost certainly not a good approach.

But note that
   dialect "mvel"
may be written preceding all the rules it should apply to.

-W

On 12 April 2011 14:38, John Peterson <john.peterson.gv3k@statefarm.com> wrote:
Try adding 'dialect "mvel"' (no single quotes) after the rule name to the top of each of the rules.  I have seen this error before and doing this resolved the issue.

>hello,everyone!I wrote a rule with Drools,but the error told me that the field Server.Message is not visible, I can't find how it happens. Please
>help me, I am almost exhausted with it. thank you.
>the rules are as follows:
>
>package com.sample
>import com.sample.Server;
>
>rule "system will execute 'tc' command"
> when
>    eval(Server.Message>8388608)
> then
>     System.out.println("The network is so crowd that it needs repairing.");
>  Runtime.getRuntime().exec("tc");#execute the "tc" command end
>
>rule "caution"
>    when
>        eval(Server.Message==8388608)
>    then
>        System.out.println("caution!The network maybe will get blocked very soon."); end
>
>rule "fluent network"
>  when
>  eval(Server.Message<8388608)#conditions
> then
>  System.out.println("the current network is very good");
>  #actions
>end


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users