一、下载 flowable rest war 包

http://download.csdn.net/detail/teamlet/9913312

二、部署

复制flowable REST.war到Tomcat 7.0.64 webapps下。

三、自定义回调

将上一章的java org.flowable.CallExternalSystemDelegate 打包成jar,复制到tomcat flowabe-rest/WEB-INF/lib 中。

四、启动

cd /apache-tomcat-7.0.64

./bin/startup.sh

五、以curl 方式调用 REST API

1、验证引擎安装正确

curl --user kermit:kermit http://localhost:8080/flowable-rest/service/management/engine

返回

{"name":"default","resourceUrl":null,"exception":null,"version":"6.1.2.0"}

2、部署流程定义

将上篇文章中的 holiday-request.bpmn20.xml 放到当前cUrl执行的路径下,执行:

curl --user kermit:kermit -F "file=@holiday-request.bpmn20.xml" http://localhost:8080/flowable-rest/service/repository/deployments

返回

{"id":"27","name":"holiday-request","deploymentTime":"2017-07-28T09:03:00.305+08:00","category":null,"url":"http://localhost:8080/flowable-rest/service/repository/deployments/27","tenantId":""}

3、验证流程部署正确

curl --user kermit:kermit http://localhost:8080/flowable-rest/service/repository/process-definitions

返回

{"data":[{"id":"createTimersProcess:1:23","url":"http://localhost:8080/flowable-rest/service/repository/process-definitions/createTimersProcess:1:23","key":"createTimersProcess","version":1,"name":"Create timers process","description":"Test process to create a number of timers.","tenantId":"","deploymentId":"7","deploymentUrl":"http://localhost:8080/flowable-rest/service/repository/deployments/7","resource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/createTimersProcess.bpmn20.xml","diagramResource":null,"category":"Examples","graphicalNotationDefined":false,"suspended":false,"startFormDefined":false},{"id":"oneTaskProcess:1:22","url":"http://localhost:8080/flowable-rest/service/repository/process-definitions/oneTaskProcess:1:22","key":"oneTaskProcess","version":1,"name":"Famous One Task Process","description":null,"tenantId":"","deploymentId":"7","deploymentUrl":"http://localhost:8080/flowable-rest/service/repository/deployments/7","resource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/oneTaskProcess.bpmn20.xml","diagramResource":null,"category":"Examples","graphicalNotationDefined":false,"suspended":false,"startFormDefined":false},{"id":"fixSystemFailure:1:19","url":"http://localhost:8080/flowable-rest/service/repository/process-definitions/fixSystemFailure:1:19","key":"fixSystemFailure","version":1,"name":"Fix system failure","description":null,"tenantId":"","deploymentId":"7","deploymentUrl":"http://localhost:8080/flowable-rest/service/repository/deployments/7","resource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/FixSystemFailureProcess.bpmn20.xml","diagramResource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/FixSystemFailureProcess.png","category":"Examples","graphicalNotationDefined":false,"suspended":false,"startFormDefined":false},{"id":"escalationExample:1:21","url":"http://localhost:8080/flowable-rest/service/repository/process-definitions/escalationExample:1:21","key":"escalationExample","version":1,"name":"Helpdesk process","description":null,"tenantId":"","deploymentId":"7","deploymentUrl":"http://localhost:8080/flowable-rest/service/repository/deployments/7","resource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/Helpdesk.bpmn20.xml","diagramResource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/Helpdesk.png","category":"Examples","graphicalNotationDefined":false,"suspended":false,"startFormDefined":false},{"id":"holidayRequest:1:29","url":"http://localhost:8080/flowable-rest/service/repository/process-definitions/holidayRequest:1:29","key":"holidayRequest","version":1,"name":"Holiday Request","description":null,"tenantId":"","deploymentId":"27","deploymentUrl":"http://localhost:8080/flowable-rest/service/repository/deployments/27","resource":"http://localhost:8080/flowable-rest/service/repository/deployments/27/resources/holiday-request.bpmn20.xml","diagramResource":null,"category":"http://www.flowable.org/processdef","graphicalNotationDefined":false,"suspended":false,"startFormDefined":false},{"id":"reviewSaledLead:1:20","url":"http://localhost:8080/flowable-rest/service/repository/process-definitions/reviewSaledLead:1:20","key":"reviewSaledLead","version":1,"name":"Review sales lead","description":null,"tenantId":"","deploymentId":"7","deploymentUrl":"http://localhost:8080/flowable-rest/service/repository/deployments/7","resource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/reviewSalesLead.bpmn20.xml","diagramResource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/reviewSalesLead.reviewSaledLead.png","category":"Examples","graphicalNotationDefined":true,"suspended":false,"startFormDefined":false},{"id":"vacationRequest:1:18","url":"http://localhost:8080/flowable-rest/service/repository/process-definitions/vacationRequest:1:18","key":"vacationRequest","version":1,"name":"Vacation request","description":null,"tenantId":"","deploymentId":"7","deploymentUrl":"http://localhost:8080/flowable-rest/service/repository/deployments/7","resource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/VacationRequest.bpmn20.xml","diagramResource":"http://localhost:8080/flowable-rest/service/repository/deployments/7/resources/VacationRequest.png","category":"http://activiti.org/bpmn20","graphicalNotationDefined":false,"suspended":false,"startFormDefined":false}],"total":7,"start":0,"sort":"name","order":"asc","size":7}

4、启动流程

curl --user kermit:kermit -H "Content-Type: application/json" -X POST -d '{ "processDefinitionKey":"holidayRequest", "variables": [ { "name":"employee", "value": "John Doe" }, { "name":"nrOfHolidays", "value": 7 }]}' http://localhost:8080/flowable-rest/service/runtime/process-instances

返回

{"id":"30","url":"http://localhost:8080/flowable-rest/service/runtime/process-instances/30","businessKey":null,"suspended":false,"ended":false,"processDefinitionId":"holidayRequest:1:29","processDefinitionUrl":"http://localhost:8080/flowable-rest/service/repository/process-definitions/holidayRequest:1:29","activityId":null,"variables":[],"tenantId":"","completed":false}

5、查看任务列表

curl --user kermit:kermit -H "Content-Type: application/json" -X POST -d '{ "candidateGroup" : "managers" }' http://localhost:8080/flowable-rest/service/query/tasks

返回

{"data":[{"id":"39","url":"http://localhost:8080/flowable-rest/service/runtime/tasks/39","owner":null,"assignee":null,"delegationState":null,"name":"Approve or reject request","description":null,"createTime":"2017-07-28T09:03:51.993+08:00","dueDate":null,"priority":50,"suspended":false,"taskDefinitionKey":"approveTask","tenantId":"","category":null,"formKey":null,"parentTaskId":null,"parentTaskUrl":null,"executionId":"36","executionUrl":"http://localhost:8080/flowable-rest/service/runtime/executions/36","processInstanceId":"30","processInstanceUrl":"http://localhost:8080/flowable-rest/service/runtime/process-instances/30","processDefinitionId":"holidayRequest:1:29","processDefinitionUrl":"http://localhost:8080/flowable-rest/service/repository/process-definitions/holidayRequest:1:29","variables":[]}],"total":1,"start":0,"sort":"id","order":"asc","size":1}

6、完成审批

注意:参数重的 39是上面查看任务列表中的 id 值,不同的运行实例这个参数可能会变化。

curl --user kermit:kermit -H "Contes" : [ { "name" : "approved", "value" : true} ]  }' http://localhost:8080/flowable-rest/service/runtime/tasks/39

tomcat终端输出

Calling the external system for employee John Doe

使用flowable 6.1.2 REST API 运行请假审批流程的更多相关文章

  1. flowable 6.1.2 命令行完成请假审批流程的例子

    一.创建 eclipse maven新项目 1.设置项目选项 其中,Create a simple project 要选中. 2.填写项目包名和项目名称 这里的Group id:必须是 org.flo ...

  2. Flowable实战(一)启动第一个完整流程

    一.前言:   发现网上关于Flowable的资料基本都是浅尝辄止,对如何构建一个企业级的流程应用说明很少,所以写个实战系列,希望对大家和自己,都有所帮助. 二.认识Flowable   Flowab ...

  3. 工作流JBPM_day01:3-使用JBPM的API添加与执行流程

    工作流JBPM_day01:3-使用JBPM的API添加与执行流程 流程定义画完得到压缩文件--->部署流程定义-->启动流程实例-->查询我的个人任务列表-->办理任务--& ...

  4. 玩转Windows服务系列——服务运行、停止流程浅析

    通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大家可要睁大眼睛看清楚了. 接下来研究一下Windows服务的 ...

  5. Web程序的运行原理及流程(一)

    自己做Web程序的开发也有两年多了 从最开始跟风学框架  到第一用上框架的欣喜若狂 我相信每个程序员都是这样过来的 在大学学习一门语言 学会后往往很想做一个实际的项目出来  我当时第一次做WEB项目看 ...

  6. 玩转Windows服务系列——服务运行、停止流程浅析

    原文:玩转Windows服务系列——服务运行.停止流程浅析 通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大 ...

  7. [转] Linux下程序的加载、运行和终止流程

    TAG: linux, main, _start DATE: 2013-08-08 原文地址: http://blog.csdn.net/tigerscorpio/article/details/62 ...

  8. 【.NetCore学习】ubuntu16.04 搭建.net core mvc api 运行环境

    查看linux内核版本 uname -a 打印结果 python@ubuntu:~$ uname -a Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed ...

  9. 在 IntelliJ IDEA 中配置 Spark(Java API) 运行环境

    1. 新建Maven项目 初始Maven项目完成后,初始的配置(pom.xml)如下: 2. 配置Maven 向项目里新建Spark Core库 <?xml version="1.0& ...

随机推荐

  1. Python HTML Resolution Demo - SGMLParser & PyQuery

    1. SGMLParser: 这里定义了一个Parse类,继承SGMLParser里面的方法.使用一个变量is_h4做标记判定html文件中的h4标签,如果遇到h4标签,则将标签内的内容加入到Pars ...

  2. python16_day06【类、RE模块、subprocess模块、xml模块、shelve模块】

    一.shelve模块 import shelve # 基于pickle模块, d = shelve.open('shelve_test') class Test(object): def __init ...

  3. beego——XSRF过滤

    跨站请求伪造,简称XSRF,是Web应用中常见的一个安全问题. 当前防范 XSRF 的一种通用的方法,是对每一个用户都记录一个无法预知的token数据, 然后要求所有提交的请求(POST/PUT/DE ...

  4. java GC 回收机制 转

    JVM分代垃圾回收策略的基础概念 由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略.本文介绍了分代策略的目标,如何分代,以及垃圾回收的触发因素. 文章总结了JVM垃圾回收策略为 ...

  5. WPF MVVM模式下ComboBox级联效果 选择第一项

    MVVM模式下做的省市区的级联效果.通过改变ComboBox执行命令改变市,区. 解决主要问题就是默认选中第一项 1.首先要定义一个属性,继承自INotifyPropertyChanged接口.我这里 ...

  6. MySQL Binlog解析(2)

    一.TABLE_MAP_EVENT Used for row-based binary logging beginning with MySQL 5.1.5.The TABLE_MAP_EVENT d ...

  7. 20145120黄玄曦《网络对抗》Web安全基础实践

    20145120黄玄曦<网络对抗>Web安全基础实践 回答问题 (1)SQL注入攻击原理,如何防御 SQL注入原理简单地说大概是,通过构造特殊的SQL命令提交表单,让服务器执行构造的恶意S ...

  8. 2062326 齐力锋 实验一《Java开发环境的熟悉》实验报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:   程序设计与数据结构           班级:      1623           姓名:  齐力锋      学 ...

  9. shell编程学习笔记之正则表达式初识

    1.对单字符的查找: 1.1单字符: ‘X’ $ grep ‘q’ passwd //查找单个字符 1.2 范围字符 [] [^] 1.3 任意字符 . $ grep '[1-9]' passwd / ...

  10. UML学习-1 UML 简介

    UML 是什么 Unified Modeling Language(UML)又称统一建模语言或标准建模语言,是始于 1997 年一个 OMG 标准,它是一个支持模型化和软件系统开发的图形化语言,为软件 ...