当前位置: 首页 > news >正文

JBPM4入门+程序下载

1. 搭建环境

下载jbpm-4.4.zip,解压缩到D盘根目录

启动myeclipse8.5 ,进入到Helpà MyEclipse configuration center

点击Software页签,点击”add site”连接

在弹出来的窗口中,点击Add from Archive FileName随便,我叫jbpm4

在弹出的新窗口中选择eclipse插件的位置,在你解压好的jbpm4.4D:\jbpm-4.4\install\src\gpd目录下的jbpm-gpd-site.zip:

点击打开,再点击OK

这时你会看见,在左边,就会有8个插件包。

依次右键,点击”Add to Profile”

全部添加完毕后,你会看见右面出现你添加的插件,点击”apply 8”,这时间要断网,要不会出现问题,等安装完成后,会提示重启myeclipse,重启后完成插件的安装。

验证安装是否成功:右键工程目录那里,NewàOther

你会看到如图一样的,说明安装成功:

 

 

点击Windows Preterences

找到JBoss JBPMàRuntime Locations

点击”Add”,添加运行环境,name随便,seach你的jbpm目录

至此,环境安装完毕。

请假流程的例子:

主题思路是:

创建一个流程定义—>根据流程定义生成流程实例à可以看见待办任务

主要程序如下,都是根据ProcessEngine获取到Service

其中RepositortService可以获取流程定义(ProcessDefinition)ExecutionService可以获取流程实例。TaskService可以获取待办任务列表:

 

发布一个流程定义的方法如下:

ProcessEngine processEngine = Configuration.getProcessEngine();

RepositoryService repositoryService = processEngine

.getRepositoryService();

//直接发布文件

//repositoryService.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy();

//发布图片和jpdl.xml文件,可以将图片进行显示

ZipInputStream zis = new ZipInputStream(this.getClass()

.getResourceAsStream("/leave.zip"));

repositoryService.createDeployment()

.addResourcesFromZipInputStream(zis).deploy();

response.sendRedirect("index.jsp");

删除流程定义方法如下:

String deployId = request.getParameter("deployId");

ProcessEngine processEngine = Configuration.getProcessEngine();

RepositoryService repositoryService = processEngine.getRepositoryService();

repositoryService.deleteDeployment(deployId);

开始一个流程实例如下:

String id = request.getParameter("Id");

String userName = (String)session.getAttribute("userName");

ProcessEngine processEngine = Configuration.getProcessEngine();

ExecutionService executionService = processEngine.getExecutionService();

  Map map = new HashMap();

  map.put("owner",userName);

  executionService.startProcessInstanceById(id,map);

提交一个流程实例到下一步如下:

ProcessEngine processEngine = Configuration.getProcessEngine();

TaskService taskService = processEngine.getTaskService();

String taskId = request.getParameter("taskId");

String owner = request.getParameter("owner");

int day = Integer.parseInt(request.getParameter("day"));

String reason = request.getParameter("reason");

Map map = new HashMap();

map.put("day", day);

map.put("reason", reason);

taskService.completeTask(taskId, map);

response.sendRedirect("index.jsp");

详细代码已经上传,可以查看流程图片。请下载

地址:http://download.csdn.net/detail/blueyangdi/4441969

 

 

相关文章:

  • JBPM3资料
  • Mac 安装pd虚拟机,远程桌面无法使用ctrl或其他符号无法使用问题
  • Django项目开发举例之创建开发环境(1)
  • Django项目开发举例举例之创建应用模型(2)
  • Django项目开发举例之应用的管理界面(3)
  • Django项目开发举例之自定义管理界面(4)
  • Django项目开发举例之用户界面视图模版(5)
  • Django项目开发举例之用户界面表单(6)
  • Django中Meta类详解
  • No python interpreter configured for the project
  • Django中各文件常用参数详解
  • Django-xadmin的使用
  • Linux定时任务Crontab命令详解
  • Oracle随机抽取数据
  • ORACLE输出结果到文件
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 10个确保微服务与容器安全的最佳实践
  • Asm.js的简单介绍
  • canvas 五子棋游戏
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • - 概述 - 《设计模式(极简c++版)》
  • 配置 PM2 实现代码自动发布
  • 数组大概知多少
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • Android开发者必备:推荐一款助力开发的开源APP
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #if #elif #endif
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (7)STL算法之交换赋值
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (day 12)JavaScript学习笔记(数组3)
  • (备忘)Java Map 遍历
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (四)模仿学习-完成后台管理页面查询
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • .net refrector
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net通用权限框架B/S (三)--MODEL层(2)
  • /bin/bash^M: bad interpreter: No such file or directory
  • @font-face 用字体画图标
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [android] 天气app布局练习
  • [ARM]ldr 和 adr 伪指令的区别
  • [BJDCTF 2020]easy_md5
  • [BUUCTF]-PWN:[极客大挑战 2019]Not Bad解析
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [codeforces]Checkpoints
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • [Interview]Java 面试宝典系列之 Java 多线程