示例(Example)
优质
小牛编辑
129浏览
2023-12-01
我们将在本章中举例说明如何将jBPM付诸实践。 手头的任务是使用jBPM来决定乘客是否登上航班或火车,这取决于他的收入。
创建项目的步骤与“Hello World”项目的步骤相同。 在编辑器中打开.rf文件,并看到标记为红色的更改 -

在这里,我们更改了规则流ID(唯一)并添加了可变收入,因为我们将根据乘客的收入来决定路线。
How to set variable - 选择标记为红色的编辑按钮。

单击“ Add按钮 -

弹出以下屏幕 -

将名称作为收入并输入为Integer。

单击OK 。 您将看到现在定义的收入变量。

要在ProcessTest.java类中完成的更改(要加载和运行进程的类) -

Map<String, Object> params = <b>new</b> HashMap<String, Object>();
params.put("income", 1200);
// start a new process instance
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应用程序运行并查看输出 -

Change the value - params.put(“income”,900); 并重新运行该类,并查看输出的变化。
