2017-01-20 2 views
0

Drools Fusion을 사용하여 CEP를 만드는 중입니다. ExpectedEvent와 ActualEvent의 두 클래스가 있습니다. ActualEvent 객체가 ExpectedEvent 객체보다 먼저 발생하는지 확인해야합니다. 그러나 키워드로 사용하기 전에는 작동하지 않습니다. 스트림 모드입니다. 인 IntelliJ에서Drools Fusion 'variablename'unexpected 예 :

import hellodrools.ExpectedEvent 
import hellodrools.ActualEvent 

dialect "java" 

rule "On Time" 

when 
    ExpectedEvent($expectedtime : getStart_time()) from entry-point entry one 
    $actual:ActualEvent(this after[ 1m ] $expected) from entry-point entryone 

then 

    System.out.println("ON TIME expected time: " + $expectedtime + " actual time " + $actualtime); 

end 

나는 '$ 실제'예상치 못한을 말을 실제 $에 점점 오류를 유지한다. 이 구문 오류를 해결할 수 없습니다.

답변

0

여기 IntelliJ는 올바른 오류를보고하지 않는 것으로 보이지만이 것은 IntelliJ와 관련이 없다고 생각합니다.

나는 여기에 실제 문제가 from entry-point는 문자열 리터럴 기대 또는 규칙에

(문자열 인) 진입 점 ID에 사용되는 유효한 식별자가 "entry one은"하지 않은 것을 믿습니다 유효한 식별자는 공백을 포함하고 있으므로 큰 따옴표로 묶지 않아 문자열 리터럴이 아닙니다 (").

당신은 from entry-point "entry one"

from entry-point entry one

를 교체 시도 할 수 있습니다