jBPM5 - 示例
我们将在本章中举一个例子来解释如何将 jBPM 付诸实践。手头的任务是使用 jBPM 根据乘客的收入来决定乘客是登上飞机还是火车。
创建项目的步骤与"Hello World"项目的步骤相同。在编辑器中打开 .rf 文件,并查看用红色 − 标记的更改

在这里,我们更改了规则流 id(唯一)并添加了变量 income,因为我们将根据乘客的收入来决定路线。
如何设置变量 −选择红色标记的编辑按钮。

单击添加按钮 −

弹出以下屏幕 −

将名称设置为收入,类型设置为整数。

单击确定。现在您将看到已定义的income变量。

在ProcessTest.java类中需要进行的更改(用于加载和运行流程的类)−

Map<String, Object> params = new HashMap<String, Object>(); params.put("income", 1200); // 启动新的流程实例 ksession.startProcess("vivek.ruleflow", params);
您需要创建一个MAP并在MAP中设置值,然后将该值传递给startProcess重载方法。如图所示,我们更改了规则流 ID,因此在 startProcess 方法中使用了相同的 ID (vivek.ruleflow)。
在运行 ProcessTest.java 类之前,在与 ProcessTest.java 相同的包中创建一个 POJO Passenger.java
public class Passenger { private String name; private int income; getters and setters here }
现在将 ProcessTest.java 类作为 Java 应用程序运行并查看输出 −

更改值 − params.put("income", 900);然后重新运行该类并查看输出的变化。
