0
Ich definierte eine Klasse mit statischen Feldern und ich möchte auf die Felder auf der linken Seite einer Regel zugreifen. Ist es möglich? HierZugriff auf statisches Feld in LHS
ist die Klasse:
package cep.model;
public class Events {
public static final int A = 1;
public static final int B = 2;
public static int getA() {
return A;
}
public static int getB() {
return B;
}
}
und Regel:
package cep.drl;
dialect "mvel"
import cep.Event;
import cep.model.Events;
declare Event
@role(event)
@expires(20s)
end
//A & B
rule "r001"
no-loop
when
$a : Event(typeId == Events.A)
and $b : Event(typeId == Events.B)
then
end
und nach der Kompilierung mit drools Plugin:
Unable to Analyse Expression typeId == Events.A:
[Error: unable to resolve method using strict-mode: cep$Event.Events()]
[Near : {... typeId == Events.A ....}]
^
[Line: 15, Column: 4] : [Rule name='r001']
Unable to Analyse Expression typeId == Events.B:
[Error: unable to resolve method using strict-mode: cep$Event.Events()]
[Near : {... typeId == Events.B ....}]
^
[Line: 16, Column: 8] : [Rule name='r001']