package com.test; import java.util.HashMap; import java.util.Map; 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; public class MainProcessHandlingException { public static void main(String[] args) { try { // load up the knowledge base KnowledgeBase kbase = readKnowledgeBase(); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, "test", 1000); //Prepare Process Params Map params = new HashMap(); params.put("createException", true); // start a new process instance ksession.startProcess("MainProcessHandlingException", params); logger.close(); System.out.println("Process Completed"); } catch (Throwable t) { t.printStackTrace(); } } private static KnowledgeBase readKnowledgeBase() throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory .newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("MainProcessHandlingException.bpmn"), ResourceType.BPMN2); kbuilder.add(ResourceFactory.newClassPathResource("SubProcessWithException.bpmn"), ResourceType.BPMN2); return kbuilder.newKnowledgeBase(); } }