绘制并验证工作流程(Draw & Validate a Workflow)
要绘制工作流程,您可以使用调色板中可用的任何组件,如上文所述。 所有工作流程都有一个开始,但它可以有多个结束。
借助屏幕截图,我将描述如何创建工作流程。
在这里,我打开了空白的rf或bpmn文件
![创建工作流程](https://imgs.xnip.cn/cj/docimg/557/59a92cb6-1acb-4d60-a4cc-c6a43e713ba4.jpg)
要添加任何事件,请从“组件面板”中选择特定事件,然后拖放到右侧。 例如,我选择了开始事件并将其拖到右侧,也是一个发散网关。
![Diverge Gateway](https://imgs.xnip.cn/cj/docimg/557/9da29a85-a17e-499f-8589-b5b5b3d89fd9.jpg)
现在,需要连接这两个组件。 选择Sequence流程并连接这两个组件。
![顺序流程](https://imgs.xnip.cn/cj/docimg/557/dff43372-e447-4c99-80d5-5ac647055791.jpg)
![顺序流程1](https://imgs.xnip.cn/cj/docimg/557/aaf40c21-db5c-4a90-82be-d8950beced95.jpg)
这样,您可以将组件拖动到编辑器并使用序列流来连接不同的组件。 只需要注意一些组件只有一个传入和一个传出连接,并且需要相应地设置顺序流以创建有意义的流。
在绘制工作流程时,还需要设置一些属性。 将在此处设置所有属性。 我刚刚创建了一个流程,但是在第一个瞬间查看它并没有什么意义,因为我没有在创建的工作流程中设置任何属性。
![创建工作流程](https://imgs.xnip.cn/cj/docimg/557/b718561a-d828-4ceb-a017-2fca2fc5c2e3.jpg)
正如您在上面所看到的,它是一个空白的工作流程,没有任何描述,因此无法从创建的工作流程中找到任何内容。
但是,为了进一步解释,我有一个启动组件,然后是一个发散网关,根据发散网关的条件,我将选择一种方式并在脚本任务中执行一些代码,然后结束工作流程。 所以我需要为diverge网关设置属性,然后设置脚本任务和融合网关。
在这个阶段,我还会告诉你我的工作流程有一些错误,稍后我会告诉你,一旦我设置属性,我的工作流程就没有错误,因此向你展示了如何验证创建的工作流程。
提示 - 请记住,验证程序在Windows→首选项→验证下打开
下面的屏幕截图显示了eclipse中的设置。
![喜好](https://imgs.xnip.cn/cj/docimg/557/ee259b93-3c37-490d-a57e-ef05387ea641.jpg)
![验证](https://imgs.xnip.cn/cj/docimg/557/8b54851f-e77f-4967-b686-b9453a902853.jpg)
根据屏幕截图,您可以看到有4个错误。 第一个错误说脚本没有动作,然后另一个错误是网关的定义没有定义类型。 因此,我们需要删除这些错误才能运行工作流程。
我们现在将逐个设置属性,并看到错误逐渐消失。
选择第一个网关(diverge)并单击属性,然后单击类型并根据您的要求选择门。
![没有行动](https://imgs.xnip.cn/cj/docimg/557/fa483649-10bf-42c3-ae55-b1e656117f9c.jpg)
选择网关后,您需要选择一个约束。
![网关](https://imgs.xnip.cn/cj/docimg/557/515dee73-c03d-41ea-a699-e159cb9e51ff.jpg)
点击标记为红色的圆圈,您将在下面看到截图
![错误消退](https://imgs.xnip.cn/cj/docimg/557/7f9cae45-4c02-4a06-96e7-ab7c462ab3df.jpg)
点击编辑并按截图填写详细信息 -
![错误消退](https://imgs.xnip.cn/cj/docimg/557/275c8627-5be2-45b0-a6a7-7bbddc6e7968.jpg)
![错误消退](https://imgs.xnip.cn/cj/docimg/557/114fde33-7b75-40af-bca8-9d174c80656c.jpg)
单击Import并导入我们将执行任何操作的类。 在屏幕截图中,我们已经导入了我们将在我们的示例中使用的乘客POJO。
![导入编辑器](https://imgs.xnip.cn/cj/docimg/557/2b969b70-387d-414c-9010-c17042d2b8f0.jpg)
同样,填写另一个约束的细节 -
![约束编辑器](https://imgs.xnip.cn/cj/docimg/557/2d36bc64-3e91-4941-aba9-e180ad16ea0e.jpg)
现在,单击“ OK按钮。
![编辑约束](https://imgs.xnip.cn/cj/docimg/557/e047f1a8-1973-4b3e-b7a2-9776f241f7af.jpg)
再次单击OK 。 现在,选择脚本任务并执行与发散网关相同的过程。
我们刚刚添加了一个SOP(打印声明)来显示流程。 任何java或mvel代码都可以在脚本任务中编写。
![文字编辑器](https://imgs.xnip.cn/cj/docimg/557/8b0bbe4e-8ad7-4904-b43c-6110bc550497.jpg)
同样添加第二个约束的代码 -
![第二个约束](https://imgs.xnip.cn/cj/docimg/557/1b7a492f-64a0-44b5-bdd3-b7eed74c4fdc.jpg)
最后,您需要为diverge网关添加网关类型。
![Diverge Gateway](https://imgs.xnip.cn/cj/docimg/557/548291db-06c6-4132-92c0-3c1402c9228a.jpg)
现在,保存工作流文件并转到问题视图。 所有问题都将得到解决。
![工作流文件](https://imgs.xnip.cn/cj/docimg/557/0bccf7d9-41ce-4c42-8029-b1dfff229c34.jpg)
问题视图中没有错误表明,创建的工作流程中没有错误。 这是在jBPM中创建和验证工作流的方式。