JBPM 学习笔记(一) Hello JBMP

1.  建立Person类
package com.sample;
public class Person {
    private String name;
    public Person(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
 
2. 建立HelloService类,只做一件事件,打印传入的参数
package com.sample;
public class HelloService {
    private static final HelloService INSTANCE = new HelloService();
    public static HelloService getInstance() {
        return INSTANCE;
    }
    public void sayHello(String name) {
        System.out.println("Hello " + name);
    }
}
 
3. 通过可视化图形控件画流程图,包括一个开始节点,一个结束节点,一个Script Task
1)绘制节点
  JBPM 学习笔记(一) Hello JBMP_第1张图片
修改流程Id名称为com.sample.bpmn.HelloService,调用流程是通过Id来调用的
鼠标点在图形化界面的空白处,更改在Properties出现的Id的值
  JBPM 学习笔记(一) Hello JBMP_第2张图片
2)加入流程变量,鼠标点在图形化界面的空白处,在Properties出现的流程整体信息,
  JBPM 学习笔记(一) Hello JBMP_第3张图片
JBPM 学习笔记(一) Hello JBMP_第4张图片
JBPM 学习笔记(一) Hello JBMP_第5张图片
JBPM 学习笔记(一) Hello JBMP_第6张图片
 
 
3)设置Script Task的脚本
选中Hello节点,在Properties中可以修改节点的信息,添加脚本
JBPM 学习笔记(一) Hello JBMP_第7张图片
JBPM 学习笔记(一) Hello JBMP_第8张图片
引入HelloService类
  JBPM 学习笔记(一) Hello JBMP_第9张图片
JBPM 学习笔记(一) Hello JBMP_第10张图片
加入脚本
  JBPM 学习笔记(一) Hello JBMP_第11张图片
注意这里是java语言,需要以分号结束,缺少会报错的
 
 
4)编写测试类
package com.sample;
import java.util.HashMap;
import java.util.Map;
import org.drools.runtime.StatefulKnowledgeSession;
import org.jbpm.test.JbpmJUnitTestCase;
import org.junit.Test;
public class TestHelloService extends JbpmJUnitTestCase {
    @Test
    public void testProcess() {
        StatefulKnowledgeSession ksession = createKnowledgeSession("HelloJBPM.bpmn");
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("person"new Person("krisv"));
        ksession.startProcess("com.sample.bpmn.HelloService", params);
    }
}
 
5)运行测试类,在控制台看到输出结果
  JBPM 学习笔记(一) Hello JBMP_第12张图片
JBPM 学习笔记(一) Hello JBMP_第13张图片
 
END

你可能感兴趣的:(jbpm)