用Java编写服务任务

如前所述,我们的流程具有“Generic and Automated Data Entry”活动(虚拟后端调用),当入职经验不超过3年时,将有条件地执行该活动,如所提供的,这是一个“脚本任务”。在这种情况下,执行一小段Javascript来说明系统处理步骤,我们将把这个脚本任务迁移到Java中,以说明Java的强大功能如何满足各种流程要求。

创建一个新的Java类,如下所示:

文件:$mvnProject/src/main/java/com/example/AutomatedDataDelegate.java

package com.example;

import java.util.Date;

import org.activiti.engine.delegate.DelegateExecution;

import org.activiti.engine.delegate.JavaDelegate;

public class AutomatedDataDelegate implements JavaDelegate {

@Override

public void execute(DelegateExecution execution) throws Exception {

Date now = new Date();

execution.setVariable("autoWelcomeTime", now);

System.out.println("Faux call to backend for ["

+ execution.getVariable("fullName") + "]");

}

}

将脚本任务更改为指向AutomatedDataDelegate的服务任务。

文件:$mvnProject/src/main/resources/onboarding.bpmn20.xml

...

...

替换为:

...

通过运行“mvn package”来打包代码。

像以前一样运行Java程序,注意以下示例输出。

ProcessEngine [default] Version: [5.22.0.0]

Found process definition [Onboarding] with id [onboarding:1:4]

Onboarding process started with process instance id [5] key [onboarding]

Active outstanding tasks: [1]

Processing Task [Enter Data]

Full Name?

John Doe

Years of Experience? (Must be a whole number)

3

Faux call to backend for [John Doe]

BEGIN Onboarding [onboarding] Sun Nov 27 22:57:32 EST 2016

-- Start [startOnboarding] 4 ms

-- Enter Data [enterOnboardingData] 10153 ms

-- Years of Experience [decision] 2 ms

-- Generic and Automated Data Entry [automatedIntro] 0 ms

-- End [endOnboarding] 0 ms

COMPLETE Onboarding [onboarding] Sun Nov 27 22:57:42 EST 2016

观察输出“Faux call to backend for [John Doe]”,该图说明了如何访问先前设置的流程变量。

这个简单的示例说明了在应用程序中添加流程驱动的抽象的简便性和强大功能。

java activit怎么画图_Activiti 快速入门指南(用Java编写服务任务)相关推荐

  1. java cookbook中文版_Java Client快速入门指南

    适用于与Amazon S3兼容的云存储的Minio Java SDK Minio Java Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务. 本快速入门指南将向你 ...

  2. java azure blob 查询_快速入门:适用于 Java 的 Azure Blob 存储客户端库 v8 | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 快速入门:使用 Jav ...

  3. Spark快速入门指南 – Spark安装与基础使用

    本文转载自Spark快速入门指南 – Spark安装与基础使用 Apache Spark 是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象.Spark 正如其名,最大的特点就是快(Lightni ...

  4. 【51单片机快速入门指南】4.5:I2C 与 TCA6416实现双向 IO 扩展

    目录 硬知识 IO 扩展芯片 TCA6416A TAC6416A 的寄存器 IO 输入寄存器 IO 输出寄存器 IO 反相寄存器 IO 方向寄存器 TCA6416A 的操作 TCA6416A 写数据 ...

  5. 入门指南_Spring Boot2: 快速入门指南

    Spring Boot2: 快速入门指南 简述 对于之前的Spring框架的使用,各种配置文件XML.properties一旦出错之后错误难寻 这也是为什么Spring Boot被推上主流的原因,现在 ...

  6. Gradle核心思想(三)Groovy快速入门指南

    本文首发于微信公众号「刘望舒」 关联文章 Gradle核心思想(一)为什么现在要用Gradle? Gradle核心思想(二)Gradle入门前奏 Gradle核心思想(三)Groovy快速入门指南 G ...

  7. ExtJS快速入门指南

    1 ExtJS快速入门指南 一.ExtJS 框架简介.......................................................................... ...

  8. BERT模型超酷炫,上手又太难?请查收这份BERT快速入门指南!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自 | GitHub    作者 | Jay Alammar 转自 | 机器之心 如 ...

  9. BERT模型超酷炫,上手又太难?请查收这份BERT快速入门指南

    2019-12-31 10:50:59 选自GitHub 作者:Jay Alammar 参与:王子嘉.Geek AI 如果你是一名自然语言处理从业者,那你一定听说过最近大火的 BERT 模型.本文是一 ...

最新文章

  1. Devexpress报表开发(二):创建数据报表
  2. JSP连接SQL数据库实现数据分页显示
  3. C++中结构体、联合体、枚举的区别
  4. 关于iOS沙盒的目录结构和获取
  5. iOS开发之应用内检测手机锁屏,解锁状态
  6. Java 线程池 ThreadPoolExecutor源码简析
  7. 解决办法:下列软件包有未满足的依赖关系,依赖。。。但是。。。正要被安装
  8. Ubuntu 自动安装libsvm
  9. 学生社团管理系统PHP源码,学生社团管理系统 附带源码
  10. JAVA基础知识点大全之二
  11. html字体外颜色轮廓,文字轮廓效果
  12. Cocos2dx中Lua游戏性能优化指南
  13. 2020年6月——北京大学《软件工程》笔记
  14. Cobbler自动安装windows10
  15. 别人笑我太疯癫,我笑别人看不穿
  16. Google Earth Engine(GEE)——在线统计美国人口和住房数据(以ee.Reducer.sum().repeat().group列表形式呈现)
  17. C#操作Excel总结(最全面的操作EXCEL技巧汇总)
  18. Wcf 服务http请求总结
  19. 云原生Istio安装和使用
  20. 计算机一级操作题题库在线,全国计算机一级考试题库操作题

热门文章

  1. git: command not found
  2. zoeDylan.js框架-数据底层
  3. C#控件前缀命名规范
  4. CodeForces 258B Little Elephant and Elections 数位DP
  5. 证券市场中银行的分类和作用
  6. MFC获取键盘光标和鼠标光标所在控件的ID
  7. win10蓝牙允许设备连接到此计算机,Win7自由天空专业版系统配置蓝牙时“允许Bluetooth设备连接到此计算机”选项灰...
  8. developer pack_上汽大众MEB电池Pack制造车间
  9. vue内容横向循环滚动_vue文字横向滚动公告
  10. json.stringify()与json.parse()的区别,json.stringify()的妙用