Skip to content
shen zhihong edited this page Jan 20, 2015 · 14 revisions

使用OpenWebFlow的步骤如下:

  1. 导入相关的jar文件(目前还没有提供maven存储);

    OpenWebFlow的发布形式是一个正常的jar(名如openwebflow-core.XXX.jar),它包含核心的工作流控制模块,以及基于内存的管理器实现模块。此外,OpenWebFlow还提供了几个jar:openwebflow-part-hibernate.XXX.jar,openwebflow-part-mybatis.XXX.jar,它们提供了SQL的管理器实现模块,分别选取hibernate和mybatis作为ORM模型。

  2. 准备Spring IoC配置文件,分别是activiti.cfg.core.xml和activiti.cfg.mem.xml(或者是activiti.cfg.sql.xml):

    • activiti.cfg.core.xml,用以配置工作流引擎的基本配置信息;
    • activiti.cfg.mem.xml,用以定义一些用以支持OpenWebFlow工作的manager,注意名字中的mem,它暗示着仅提供了那些manager的基于内存实现的版本,类似的配置文件还可以是activiti.cfg.sql.xml;
  3. 使用Spring框架加载配置文件,获取ProcessEngine等对象: 如下是使用OpenWebFlow的示例代码,可以看出来与Activiti的用法完全一致:

     ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:activiti.cfg.mem.xml");
     ProcessEngineTool tool = ctx.getBean(ProcessEngineTool.class);
     ProcessEngine processEngine = tool.getProcessEngine();
     // 启动流程实例
     ProcessInstance instance = processEngine.getRuntimeService().startProcessInstanceByKey("test1");
     TaskService taskService = processEngine.getTaskService();
     //会自动跳转到第一个task
     //management可以访问该task
     int count = taskService.createTaskQuery().taskCandidateGroup("management").count();