2013-05-21 5 views
0

제 경우에는 규칙이 실행되는지 아닌지 확인하십시오. 그런 다음 어떤 규칙이 활성화되었는지 보려면 WorkingMemoryConsoleLogger을 사용합니다. 나는 규칙에 then 블록을 가질 필요가 없습니다. 그러나 해당 블록을 제거하면 오류가 반환됩니다. 어떻게 해결할 수 있습니까?"then"블록을 사용하지 않고 drools 규칙을 실행하십시오.

+0

규칙은 모두 조건에 대한 것입니다. 이 의미를 원하지 않는다면 아마도 규칙이 적합하지 않을 수 있습니다. 대안으로는 로깅을 수행하는 메소드를 호출 할 수 있다고 생각합니다. 멍청한 꼴이야. – cmbaxter

+0

나는 로깅을 위해'then'을 사용했지만 모든 규칙은 똑같은 동작을합니다. 내 생각은이 논리를'WorkingMemoryConsoleLogger'에 추가하고 모든 규칙에 대해 동일한 액션을 작성하지 않는 것입니다. – aphex

+1

@cmbaxter 나는 당신의 의견이 약간 오도하는 것 같아요. 일반적으로 비즈니스 규칙은 일반적으로 "평가 유형 규칙"및 "실행 유형 규칙"이라고하는 두 가지 유형이 될 수 있습니다. 평가 유형 규칙은 하나의 질문에 답합니다 : 참 또는 거짓. 이 유형의 규칙은 "ZIP이 30040인지 확인"과 같은 모양 일 수 있습니다. 실행 유형 규칙은 값을 설정하거나 액션을 호출 할 수 있습니다. 규칙 조건 중 하나라도 True로 평가되거나 전혀 반환하지 않으면 True를 반환합니다. 이제 Drools가 규칙 유형을 지원하는지 여부는 완전히 다른 질문입니다. – Kizz

답변

0

사용자 그룹으로부터 일부 지원을 받았습니다. 따라서 then 블록은 비어있을 수 있습니다.

rule "rule name" 
    when 
     ....... 
    then 
end 
관련 문제