示例(Example)
优质
小牛编辑
116浏览
2023-12-01
我们将在本章中举例说明如何将jBPM付诸实践。 手头的任务是使用jBPM来决定乘客是否登上航班或火车,这取决于他的收入。
创建项目的步骤与“Hello World”项目的步骤相同。 在编辑器中打开.rf文件,并看到标记为红色的更改 -
![Hello,World!项目](https://imgs.xnip.cn/cj/docimg/558/e9520e94-e0fa-4cce-8cb1-f5f2212fef37.jpg)
在这里,我们更改了规则流ID(唯一)并添加了可变收入,因为我们将根据乘客的收入来决定路线。
How to set variable - 选择标记为红色的编辑按钮。
![设置变量](https://imgs.xnip.cn/cj/docimg/558/40343b85-388f-4773-a6de-e68ecfa86e49.jpg)
单击“ Add按钮 -
![变量列表](https://imgs.xnip.cn/cj/docimg/558/afcb5907-a9e0-4b17-8263-4140d3d013fa.jpg)
弹出以下屏幕 -
![屏幕弹出](https://imgs.xnip.cn/cj/docimg/558/8689f9f8-c062-47aa-86ce-6b212c34a143.jpg)
将名称作为收入并输入为Integer。
![编辑变量](https://imgs.xnip.cn/cj/docimg/558/11b3b69d-89d4-4d7d-87c0-c61ca05ae965.jpg)
单击OK 。 您将看到现在定义的收入变量。
![变量定义](https://imgs.xnip.cn/cj/docimg/558/1c6830c9-ba60-4753-b04b-2f2f1573cde3.jpg)
要在ProcessTest.java类中完成的更改(要加载和运行进程的类) -
![过程测试](https://imgs.xnip.cn/cj/docimg/558/ae22413a-3f39-4c1f-b6e6-39830850883e.jpg)
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应用程序运行并查看输出 -
![ProcessTest](https://imgs.xnip.cn/cj/docimg/558/e858a965-4a60-44b5-8ba3-e13a13fea8d8.jpg)
Change the value - params.put(“income”,900); 并重新运行该类,并查看输出的变化。
![改变价值](https://imgs.xnip.cn/cj/docimg/558/91160490-f5d6-4598-9a5c-c59e3c48e3e8.jpg)