2016-12-08 1 views
1

나는 drools을 사용하여 경고를 생성했다. 나는 데이터베이스에서 잠꼬대 파일을 만들었습니다. 항상 프로젝트의 리소스 폴더에서 .drl 파일을로드하고 있습니다. 왜냐하면이 작업은 io 작업을 많이하고 있기 때문입니다.메모리에서 drool 파일을로드하는 방법은 무엇입니까?

나는이 문제에서 극복하고 싶다, 어떤 식 으로든 현금 넣는 것과 똑같이 in-memory에서 잠꼬대 파일을로드 할 수 있습니까?

+1

당신은 컴파일하고 결과를 직렬화하여 룰베이스를 준비 할 수 있습니다. 어떻게 지금 세션을 만들고 있습니까? – laune

+0

StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); 이게 내가 statefull 세션을 만드는거야? – Mahabaleshwar

답변

1

그건 Drools 5입니까? 업그레이드 시간. 그러나 Drools 6에 대한 코드를 사용하여 제공 한 것과 동일한 단계를 사용하면됩니다. 클래스 이름이 다소 변경되었습니다. 당신이 한 번 수행

KieBase kieBase = ...; 
    FileOutputStream fos1 = new FileOutputStream(OUTPATH); 
    ObjectOutputStream oos1 = new ObjectOutputStream(fos1); 
    oos1.writeObject(kieBase); 
    oos1.close(); 

각 실행에 대해이 작업을 수행 :

FileInputStream fis9 = new FileInputStream(OUTPATH); 
    ObjectInputStream ois9 = new ObjectInputStream(fis9); 
    KieBase kieBase1 = (KieBase)ois9.readObject(); 
    KieSession kieSession = kieBase1.newKieSession(); 
관련 문제