jBPM4.4之流程引擎对象ProcessEngine

在jBPM4.4中,所有的服务接口都是通过ProcessEngine对象获得的。


1、关于ProcessEngine

1)ProcessEngine通过Configuration类构建,Configuration以单例模式获取ProcessEngine对象。

/** get the singleton ProcessEngine that is created from the default
   * configuration file 'jbpm.cfg.xml'. */
  public static ProcessEngine getProcessEngine() {
    if (singleton == null) {
      synchronized (Configuration.class) {
        if (singleton == null) {
          singleton = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();
        }
      }
    }
    return Configuration.singleton;
  }


2)ProcessEngine是线程安全的,所有的线程和请求都可以使用同一个ProcessEngine对象。

2、获取ProcessEngine对象

 1)方式一:使用classpath根目录下的默认配置文件jbpm.cfg.xml创建一个单例的ProcessEngine。

   ProcessEngine processEngine = Configuration.getProcessEngine();

 2)方式二:指定其他位置的jBPM配置文件,如src根目录config包下的my-jbpm-cfg.xml。

  ProcessEngine processEngine = new Configuration() .setResource("config/my-jbpm-cfg.xml")   .buildProcessEngine();

3、通过ProcessEngine对象获取各种服务接口

  1)获取RepositoryService接口。

  RepositoryService repositoryService = processEngine.getRepositoryService();

  RepositoryService----流程资源服务接口。提供对流程定义的部署、查询、删除和流程图查看等操作。

  2)获取ExecutionService接口。

    ExecutionService executionService = processEngine.getExecutionService();

 ExecutionService----流程执行服务接口。提供启动流程实例、推进、删除等操作。

    3)获取TaskService接口。

 TaskService taskService = processEngine.getTaskService();

TaskService----人工任务服务接口。提供对任务的创建、提交、查询、保存、删除等操作。

    4)获取HistoryService接口。

HistoryService historyService = processEngine.getHistoryService();

HistoryService----流程历史服务接口。提供对任务的管理操作。提供对流程历史库中历史流程实例、历史活动实例等记录的查询。

  5)获取ManagementService接口。

ManagementService managementService = processEngine.getManagementService();

ManagementService----流程管理控制服务接口。

  6)获取IdentityService接口。

IdentityService identityService = processEngine.getIdentityService();

IdentityService----身份认证服务接口。提供对流程用户、用户组管理。





你可能感兴趣的:(ProcessEngine)