Hi, I thnik you might need to reposition dialect = "mvel". The compiling error will go away if you put it inside each of your rules. See example:
rule "system will execute 'tc' command" when dialect "mvel" eval(Server.Message>8388608) then System.out.println("The network is so crowd that it needs repairing."); Runtime.getRuntime().exec("tc");#give the authority and execute the "tc" command end rule "caution" dialect "mvel" when eval(Server.Message==8388608) then System.out.println("caution!The network maybe will get blocked very soon."); end rule "fluent network" dialect "mvel" when eval(Server.Message<8388608)#conditions then System.out.println("the current network is very good");#actions end Also, mvel is needed to make the "eval" statement work. In your case, it might not be needed to work with eval at all. WHEN Server.message < .... should work as well. Providing you have an attribute message in Server with a getter defined. Regards, Frank 赵慧 wrote: > > hello,everyone! I wrote a rule with Drools, I compile the program and get > the errors as follows: > > [3,0]: [ERR 103] Line 3:0 rule 'rule_key' failed predicate: > {(validateIdentifierKey(DroolsSoftKeywords.RULE))}? in rule > [3,9]: [ERR 101] Line 3:9 no viable alternative at input 'com' in rule > package > [7,0]: [ERR 101] Line 7:0 no viable alternative at input 'import' in rule > package in rule sample > > I don't know how it happened, looking forward to your reply! thank you !!! > > PS: My rules are here: > dialect "mvel" > 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");#give the authority and 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 > -- View this message in context: http://drools.46999.n3.nabble.com/rules-users-help-rule-rule-key-failed-to-predicate-tp2823695p2823722.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users