分享

jbpm4.4 Api 示例

 怀旧妞妞 2010-11-03
(一):工作流服务引擎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'

  
 
 
 
 
 
 
 
 
 
 
 
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约