环境安装:
1.elasticsearch
2.operate
3.broker
项目启动:
相关API的学习
部署工作流
ZeebeClient client = ZeebeClient.newClientBuilder()
.brokerContactPoint("192.168.37.101:26500")
.usePlaintext()
.build();
System.out.println("connected...");
创建工作流实例
Map<String, Object> params = Maps.newHashMap();
params.put("orderId", "123456");
params.put("price", 50);
WorkflowInstanceEvent workflowInstance = client.newCreateInstanceCommand().bpmnProcessId("order-process").latestVersion().variables(params)
.send().join();
System.out.println("workflowInstanceKey: " + workflowInstance.getWorkflowInstanceKey());
每一步完成任务
client.newWorker().jobType("have-insurance").handler((jobClient, activatedJob) -> {
Map<String, Object> params = activatedJob.getVariablesAsMap();
System.out.println("params: " + params);
params.put("have-insurance", true);
jobClient.newCompleteCommand(activatedJob.getKey()).variables(params).variables(params).send().join();
System.out.println("have-insurance handler job: " + activatedJob.getKey());
}).open();
发送消息
client.newPublishMessageCommand().messageName("pay-received").correlationKey("123456").send().join();
System.out.println("create pay-received message");
我们可以通过operator查看流程的执行细节,流程每到一处,界面上会有相关图标。
要详细学习zeebe的相关API,需要从具体业务着手,子流程,循环任务,超时回滚流程及异常通知等。