규칙 구성 객체를 사용하여 규칙 자체를 외부 구성 할 수있는 규칙 시스템을 설계하려고합니다. 특히, 특정 유형의 규칙에 대한 규칙 실행 사이의 최소 시간을 DRL 규칙 정의에 외부 적으로 구성하려고합니다.변수 창 앞이나 뒤에?
내 접근 방식은 지금까지 사실 ValueRuleSpec으로 규칙 구성을 삽입하는 것입니다
rule "Any value detected"
when
$r : ValueRuleSpec(mode == ValueRuleSpecMode.ANY(), $devices: devices)
$e : SensorEvent(deviceId memberOf $devices) from entry-point FMSensorEvents
not Activation(ruleSpec == $r, cause == $e)
then
insert(new Activation($r, $e));
end
의 $ R ValueRuleSpec 개체 속성 활성화 사이의 최소 시간 (초)을 포함 triggerEvery 있습니다. 어떻게이 사용하여 구성 가능한 시간 창에이 작업을 수행 할 수
not Activation(this before[60s, 0s] $e)
:이 같은 것을 사용하여 $ 전자 전에 특정 범위 내에 정품 인증 개체의 부재에 대한 테스트를 통해 정적으로 수행 할 수 있다는 것을 알고 $ r.triggerEvery 속성은 초 수입니까?
시간적 사업자 시간 표현에서 참조 된 사건들의 시간 기록을 포함하는 어떤 조건들에 대한 통사론 적 설탕. Drools 매뉴얼에서 연산자의 정의를 찾을 수 있습니다. 세 번째 사실에서 오는 매개 변수를 포함하면서 동일한 관계를 계산하는 정적 메서드의 DRL 함수를 작성하는 것이 너무 어렵지 않아야합니다. 이벤트가 삽입 될 때 Java 코드로 설정되는 이벤트의 필드로 시간 소인을 가져야 할 수도 있습니다. – laune