JBPM4基础篇02-管理流程定义

上一篇已经创建好了一个简单的流程文件:

JBPM4基础篇02-管理流程定义_第1张图片

代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<process name="helloworld" xmlns="http://jbpm.org/4.3/jpdl">
   <start g="83,71,48,48" name="start1">
      <transition g="-59,-17" name="to state1" to="state1"/>
   </start>
   <end g="93,316,48,48" name="end1"/>
   <state g="63,192,92,52" name="state1">
      <transition g="-47,-17" name="to end1" to="end1"/>
   </state>
</process>

先不去探究XML中每个节点的含义,直接写个JUnit测试走一遍再说。

在写测试类之前,必须导入依赖的Jar包。

  1. /jbpm.jar
  2. /lib/下所有的jar包(不一定每个都有用)

package org.wxp;

import java.util.List;

import junit.framework.TestCase;

import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessDefinition;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.RepositoryService;

/**
 * 1.创建流程引擎ProcessEngine 2.创建流程服务RepositoryService
 * 3.发布一个流程repositoryService.createDeployment
 * ().addResourceFromClasspath("helloworld.jpdl.xml").deploy();
 * 4.获取流程列表repositoryService.createProcessDefinitionQuery().list();
 * 5.删除一个流程repositoryService.deleteDeploymentCascade(deploymentId);
 * 
 * @author Champion.Wong
 * 
 */
public class HelloTest extends TestCase {

    ProcessEngine processEngine; // 创建流程引擎

    public HelloTest() {
        processEngine = Configuration.getProcessEngine();
    }

    public void testDeploy() {
        // 创建流程服务
        RepositoryService repositoryService = processEngine
                .getRepositoryService();

        // 发布一个流程
        String deploymentId = repositoryService.createDeployment()
                .addResourceFromClasspath("helloworld.jpdl.xml").deploy();

        // 获取流程列表
        List<ProcessDefinition> list = repositoryService
                .createProcessDefinitionQuery().list();

        for (ProcessDefinition pd : list) {
            System.out.println(pd.getId() + "||" + pd.getName());
        }

        // 删除流程(级联删除)
        repositoryService.deleteDeploymentCascade(deploymentId);

        // 打印流程的个数
        System.out.println(repositoryService.createProcessDefinitionQuery()
                .count());
    }
}


解释一下:创建JBPM引擎,创建流程服务,发布一个流程,然后打印出流程列表,再根据流程ID删除掉一个流程,最后输出流程的个数。
Console:

除去一些日志信息,控制台先打印出了一个“1helloworld”,然后最后输出了一个“0”.



你可能感兴趣的:(JBPM4基础篇02-管理流程定义)