(1)发布流程:

1:启动JBPM引擎 ProcessEngine

ProcessEngine processEngine;

processEngine = Configuration.getProcessEngine();

2:发布流程

   RepositoryService respositoryService =

processEngine.getRepositoryService();

respositoryService.createDeployment().addResourceFromClasspath

("helloworld.jpdl.xml").deploy();//创建流程发布包,并发布

------------------------------------

(2)查看流程定义

   List<ProcessDefinition> list =

respositoryService.createProcessDefinitionQuery.list();

for( ProcessDefinition pd : list){

    Systme.out.println(pd.getId);

}

-------------------------------------

(3)删除流程定义

String processDefinitionId = responsitoryService.createDeployment

().addResourceFromClasspath("helloworld.jpdl.xml");


responsitoryService.deleteDeploymentCascade(processDefinitionId);

//级联删除流程定义下的所以流程定义及流程定义的实例

-------------------------------------------------------

(4)获得流程实例


ExecutionService executeService = processEngine.getExcuteServie();

//ExcecutionService是用来专门控制流程实例的

ProcessInstance pi = executionService.startProcessInstanceByKey

("helloworld");


pi= executionService.signalExecutionById(pi.getId());

   //执行到等待状态后,继续执行

System.out.println(pi.isEnded());

(5)终结流程

  

pi = exectionService.endProcessInstance(pi.getId(),"cancel");


(6)删除流程

  

pi = exectionService.deleteProcessInstanceCascade(pi.getId());

(7)查看流程实例

   List<ProcessInstance> list =

executionService.createProcessInstanceQuery().list();