나는 Drools에 완전히 익숙하고 탐구하고 있습니다. 지금까지 나는 자바와 같은 조건이라면 우리가 사용하는 단일 규칙과 withing을 사용했다.Drools에서 규칙의 다중 끝
이제 일련의 조건 중 하나가 만족되면 여러 if 및 else chain을 사용해야하지만 복잡한 규칙을 사용해야합니다.
저는 Apache Camel에서 drools를 호출합니다. 규칙은 카멜에게 답장해야합니다.
이제 if와 else 조건 중 하나가 실패 할 때 규칙 체인을 중단 한 다음 Caller 코드 인 호출자에게 다시 응답을 보내려면 어떻게해야합니까?
1. 응답하려면 여러 개의 end 문을 사용할 수 있습니까?
2. 기능을 사용할 수 있으며 Java에서 함수를 작성하고 가져 오는 것이 좋습니다.
3. Drools에서 함수를 만들고 java와 똑같이 사용할 수 있습니까?
나는 Drools를 사용해야하는 방식으로 사용하고 있지는 않지만 지금까지 우리가 지금 사용하고있는 규칙만큼 복잡하지는 않았습니다. 어떤 도움이 나를 위해 유용합니다.
다음은 아래에서 사용할 수있는 방법이나 아래에 나와있는 다른 방법을 제안합니다.
rule "my rule"
when
#some condition
then
if(){
end
}else if(){
#do something
}
if(){
#do some other logic
}
end
샘플 내 두 번째 의견
When
object:SomeObject(); // This helps for my camel code to trigger this rule and this rule only
then
if(){
}
else if()
{
return;
}else if() {
}
if(){
}else if(){
return;
}
if(){
}
end
감사합니다. 나는 그 기능 하나를 보았다. 하지만 난 지금 내 질문에 추가 한 샘플 코드처럼 싶습니다. 그걸로 확인할 수 있니? –
@NaveenRaj 답변에 규칙에 대한 의견을 추가했습니다. – laune
그것은 void 메소드가 값을 반환 할 수 없다고 말합니다. 너 나 좀 도와 줄 수있어? –