2010-07-27 82 views

回答

0

這部分文檔看起來有些過時。你應該使用ResourceType。我用下面的代碼片段更新了文檔(應該也會在構建成功後出現在您使用的鏈接上):

package com.sample; 

import org.drools.KnowledgeBase; 
import org.drools.builder.KnowledgeBuilder; 
import org.drools.builder.KnowledgeBuilderFactory; 
import org.drools.builder.ResourceType; 
import org.drools.io.ResourceFactory; 
import org.drools.logger.KnowledgeRuntimeLogger; 
import org.drools.logger.KnowledgeRuntimeLoggerFactory; 
import org.drools.runtime.StatefulKnowledgeSession; 

/** 
* This is a sample file to launch a process. 
*/ 
public class ProcessTest { 

    public static final void main(String[] args) { 
    try { 
     // load up the knowledge base 
     KnowledgeBase kbase = readKnowledgeBase(); 
     StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); 
     KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test"); 
     // start a new process instance 
     ksession.startProcess("com.sample.ruleflow"); 
     logger.close(); 
    } catch (Throwable t) { 
     t.printStackTrace(); 
    } 
    } 

    private static KnowledgeBase readKnowledgeBase() throws Exception { 
    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); 
    kbuilder.add(ResourceFactory.newClassPathResource("ruleflow.rf"), ResourceType.DRF); 
    return kbuilder.newKnowledgeBase(); 
    } 
}