2014-09-16 3 views
1

저는 Drools 5.3.5와 guvnor에 정의 된 선언적 팩트 모델을 사용하고 있습니다. 나는 응용 프로그램의 클래스 경로에 drools-core-5.3.5.Final.jarknowledge-api-5.3.5.Final.jar을 둘 다 규칙 엔진과 상호 작용합니다. 두 FactType 인터페이스의 차이점은 무엇입니까?

이 JAR 파일의 각

은 FactType라는 인터페이스가 포함되어

 
drools-core-5.3.5.Final.jar -> org.drools.rule.FactType 
knowledge-api-5.3.5.Final.jar -> org.drools.definition.type.FactType 

내가 org.drools.definition.type.FactType 객체가 org.drools.KnowledgeBase.getFactType() 수익을 참조; 그렇다면 org.drools.rule.FactType은 무엇에 사용됩니까? 내 코드가 항상 knowledge-api FactType을 사용해야합니까?

답변

1

일부 리팩토링 후에도 org.drools.rule.FactType이 휴지통 일 수 있습니다. 전체 클래스 이름에 대한 grep은 적중을 반환하지 않습니다. (나는 다른 복제본을 보았지만 그들을 검색하지 않는 것을 용서합니다.)

-api- jar는 하나의 병에있는 모든 안정적인 IF를 수집하기위한 목적으로 5.x에서 진화했습니다.

의미 : "안정적인"javadoc에있는 클래스 (예 : org.drools.definition.type.FactType)를 사용하십시오. 이것은 최신 버전으로 업그레이드 할 때 호환성을 유지하는 유일한 방법입니다 (최소한 최선의 노력).