Activiti 外置表单的一种简单部署方式
来源:互联网 发布:京津冀生态环境数据 编辑:程序博客网 时间:2024/05/22 07:09
1 前言
前些天在研究Activiti,外置表单这个坎倒是把我难住了,通过formKey来联结*.form文件总是提示该*.form不存在,后来在验证了多种方式之后只成功了一种方法,即通过将*.bpmn和*.form文件打包成.zip压缩包的方式一次部署。
2 准备
请配置好Activiti运行所需的基本依赖与环境。
请提前创建好流程所需的*.bpmn流程定义文件和*.form外置表单文件并在*.bpmn文件中设置某一Task的formKey为*.form(外置表单文件的文件名)。
3 开始
3.1 准备
常用的代码,在不使用Spring配置的情况下:
// 装载引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 获取服务
RepositoryService repositoryService = processEngine.getRepositoryService();
RuntimeService runtimeService = processEngine.getRuntimeService();
TaskService taskService = processEngine.getTaskService();
FormService formService = processEngine.getFormService();
// 装载查询
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery();
TaskQuery taskQuery = taskService.createTaskQuery();
3.2 部署
若想用*.form之类的外置表单,必须将*.bpmn和*.form文件均进行部署。目前唯一成功的途径就是将*.bpmn文件与*.form文件打包成一个zip压缩包,然后部署此zip压缩包。
部署代码为:
// 获取本地文件
ZipInputStream zipInputStream =
new ZipInputStream(
new FileInputStream(
new File("*.zip"))); // 填写你的zip压缩包绝对路径
// 进行部署
Deployment deployment = repositoryService
.createDeployment()
.addZipInputStream(zipInputStream)
.deploy();
System.out.println(" - deployment: " + deployment);
成功后的输出为:
- deployment: DeploymentEntity[id=1, name=null]
其中name可以用.name(“foo”)的方式添加。
3.3 实例
部署之后可以创建流程实例来看看效果了。
流程实例的创建代码为:
runtimeService.startProcessInstanceByKey("YourProcess");
// 填写你的processDefinitionKey,通常默认为myProcess
3.4 测试
创建一个流程实例之后,可以来测试一下*.form是否部署成功,代码如下:
Task task = taskQuery.singleResult(); // 注意,请使用关联了外置表单的Task来测试
TaskFormData formData = formService.getTaskFormData(task.getId());
Object renderedTaskForm = formService.getRenderedTaskForm(task.getId());
System.out.println(" - renderedTaskForm: " + renderedTaskForm);
成功后的输出为:
- renderedTaskForm: foobar // (*.form文件里面的内容)
至此,外置表单成功部署。
阅读全文
0 0
- Activiti 外置表单的一种简单部署方式
- Activiti外置表单简单应用
- 【应用篇】Activiti外置表单简单应用(三)
- 【应用篇】Activiti外置表单简单应用(三)
- Activiti部署的方式
- weblogic部署的一种方式
- 【应用篇】Activiti外置表单实例demo(四)
- 【应用篇】Activiti外置表单实例demo(四)
- onsubmit阻止表单提交的一种方式
- activiti xml String方式部署
- tomcat部署项目的另外一种方式
- openstack安装部署的一种实现方式
- 一种WEB表单验证的简单方法
- 工作流模式每个工作流引擎都会支持多种方式的表单。目前大家讨论到的大概有三种。 动态表单 外置表单 普通表单
- 四、Activiti 部署的三种方式与部署查询流程查询源码
- 一种简单的小型企业报表实现方式
- oracle 一种简单的数据同步方式
- 一种 Dockerize 应用的简单方式
- iOS性能优化系列之__builtin_expect分支预测优化
- 如何扛住1.8亿/秒的双11数据洪峰?阿里流计算技术全揭秘
- 基础登录界面+第三方登录代码片
- 获得下拉列表中的选中值
- ttyUSB
- Activiti 外置表单的一种简单部署方式
- CvMat、Mat、IplImage之间的转换详解及实例
- 取出100到1000之间的水仙花数并存入数组
- 用python3操作微信(itchat),发送图片
- 剑指offer---赋值运算符重载函数(1)
- yarn流程
- Android 双屏异显
- 交换法排序
- PopupWindow+AlertDialog+xrecycleview代码片