(一):工作流服务引擎ProcessEngine
import java.util.List;
import org.jbpm.api.*;
public class testJbpm {
public void test(){ //启动工作流服务引擎 初始化ProcessEngine 会自动读取jbpm.cfg.xml ProcessEngine proessEngine = Configuration.getProcessEngine(); //流 程 管理 对象:RepositoryService RepositoryService rs = proessEngine.getRepositoryService(); //rs 作用1:发布qh_jbpm.jpdl.xml工作流 String id = rs.createDeployment().addResourceFromClasspath("qh_jbpm.jpdl.xml").deploy(); //rs 作用2:查找流程定义列表 List <ProcessDefinition> dfList = rs.createProcessDefinitionQuery().list(); //rs 作用3:删除流程定义 rs.deleteDeploymentCascade(id); //流程实例管理ExecutionService类 ExecutionService es = proessEngine.getExecutionService(); //获得流和程实例 ProcessInstance pi = es.startProcessInstanceByKey("qh_jbpm"); //将流程 实例执行下一步 es.signalExecutionById(pi.getId()); //将流程实例不再执行强行终止 es.endProcessInstance(pi.getId(), "终止理由"); //将流程 实例删除 es.deleteProcessInstanceCascade(pi.getId()); //查看流程 下的实例集合 List <ProcessInstance> piList = es.createProcessInstanceQuery().list(); } } (二):JbpmConfiguration:
用他来创建一个类似于hibernate当中的session一样的
1.导入jbpm数据库表JbpmConfiguration.getInstance().createSchema();
2.jbpmConfiguration对象的创建 static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance(); (三)JbpmContext:jbpm已经把session对象封装到JbpmContext对象里面。他是我们对数据库所有的操作的一个接口。
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); 然后部署的操作已经由jbpmContext给我们创建好了,我们只需要调一下他的一个方法就可以了。
jbpmContext.deployProcessDefinition(processDefinition); jbpmContext.close();
(四)流程启动时对应的数据库数据:
1、各种服务
ProcessEngine processEngine = Configuration.getProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService(); ExecutionService executionService = processEngine.getExecutionService(); 2、各种列表
TaskService taskService = processEngine.getTaskService(); 定义流程列表
List<ProcessDefinition> pdList = repositoryService.createProcessDefinitionQuery().list(); 流程实例列表
List<ProcessInstance> piList = executionService.createProcessInstanceQuery().list(); 用户所属用户组任务列表
List<Task> groupTaskList = taskService.findGroupTasks(username); 用户所属列表
List<Task> taskList = taskService.findPersonalTasks(username); 3、启动删除
删除:
ProcessEngine processEngine = Configuration.getProcessEngine(); RepositoryService repositoryService = processEngine.getRepositoryService(); repositoryService.deleteDeploymentCascade(ProcessDefinition.getDeploymentId()); ProcessDefinition.getDeploymentId()==select DBID_ from jbpm4_deployment
启动
ExecutionService executionService = processEngine
.getExecutionService(); executionService.startProcessInstanceById(ProcessDefinition.getId(),map); ProcessDefinition.getId()==select t.stringval_ from jbpm4_deployprop t ProcessDefinition.getId()==select t.stringval_ from jbpm4_deployprop t where t.deployment_=30010(==select DBID_ from jbpm4_deployment) and t.key_='pdid'
|
|