0
Drools에서 다음 시나리오를 고려하십시오. A
및 B
의 개체가 서로 대조되는 규칙이 있습니다. Drools : 필드의 값을 기준으로 사실 일치의 우선 순위 지정
rule 1
when
$a : A()
$b : B($a.matches($b), flagged == false)
then
mofidy($b) { flag($a) }
end
그러나
A
객체는
priority
라는 필드가, 그리고
B
이 작업 메모리, 우선 순위가 가장 높은 일치하는
A
에 도착했을 때해야 깃발이, 다른 모든 일치
A
의 위. Drools에서 어떻게 가능합니까? 성능에 어떤 영향을 줍니까? 이 예에서 알 수
rule 1
when
$a : A()
not A(this != $a, priority > $a.priority)
$b : B($a.matches($b), flagged == false)
then
mofidy($b) { flag($a) }
end
것은 높은 우선 순위는 A 객체가 하나를 삽입 한 경우이다 :
감사합니다 희망! 'when' 세그먼트가 가장 높은 우선 순위를 갖는'A'를 선택하고'B'와 일치하는지 확인합니까? 또는 주어진'B '에 대해 가장 일치하는'A'를 선택합니까? – fzwd
첫 번째 조건은 'A'를 확인하고 두 번째 조건은 가장 높은 우선 순위로 'A'를 필터링합니다 (우선 순위가 가장 높은 항목을 제외하고 실제로 모두 필터링 함). –