我们将以乘客为例, 它将决定乘汽车还是骑自行车。通过以下步骤, 我们可以了解jBPM WorkFlow的工作原理:
步骤1:在Eclipse编辑器中打开空白的.rf文件, 并使用拖放功能绘制以下WorkFlow组件。
文章图片
步骤2:设置每个事件任务的属性, 如我们先前在“验证”部分中看到的那样, 出现以下屏幕。
文章图片
步骤3:现在, 我们将更改规则流ID, 并在属性中设置变量。要设置变量, 请单击变量的动作属性, 出现以下屏幕:
文章图片
步骤4:点击添加按钮, 然后按以下屏幕截图所示设置字段。
文章图片
步骤5:现在, 我们的属性将类似于下面的屏幕, 在该屏幕中, 我们已设置了ID和变量。
文章图片
步骤6:我们在ProcessTest.java类文件中进行了一些更改以运行我们的流程。我们可以看到粗体字体的变化:
public static final void main(String[] args) {
try {
// load up the knowledge base
KnowledgeBase kbase = readKnowledgeBase();
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
Map<
String, Object>
params = new HashMap<
String, Object>
();
params.put("income", 1500);
// start a new process instance
ksession.startProcess("joe.ruleflow", params);
logger.close();
} catch (Throwable t) {
t.printStackTrace();
}
}
步骤7:现在, 我们在与ProcessTest.java相同的包中创建Passenger.java文件。
public class Passenger {
private String name;
private int income;
public String getname()
{
return this.name;
}
public void setname(String value)
{
this.name = value;
}
public int getincome()
{
return this.income;
}
public void setincome(Integer value)
{
this.income = value;
}
步骤8:现在我们将ProcessTest.java文件作为Java Application运行并查看输出。
文章图片
【jBPM工作流程示例】步骤9:再次, 我们更改params.put()函数中的值, 然后重新运行Java Application, 并查看输出中的更改。
params.put("income", 500);
文章图片