- 浏览: 3431701 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
http://blog.csdn.net/howareyoutodaysoft/article/details/8062743
jbpm5 应用锦集
1 jbpm5 加载知识库
2 jbpm5 创建session
3 jbpm5 注册人工服务
4 jbpm5 启动流程
5 jbpm5 根据用户名称获取当前需要执行的人工任务
6 jbpm5 获取人工任务的参数
7 jbpm5 开始并且完成人工任务
8 jbpm5 流程图形化监控
jsp页面代码如下:
jbpm5 应用锦集
1 jbpm5 加载知识库
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory .newKnowledgeBuilder(); kbuilder.add( ResourceFactory.newClassPathResource("HumanTestUser.bpmn"), ResourceType.BPMN2); KnowledgeBase kbase = kbuilder.newKnowledgeBase();
2 jbpm5 创建session
StatefulKnowledgeSession sSession= kbase.newStatefulKnowledgeSession();
3 jbpm5 注册人工服务
HornetQHTWorkItemHandler sHumanTaskHandler = new HornetQHTWorkItemHandler(sSession); sSession.getWorkItemManager().registerWorkItemHandler("Human Task", sHumanTaskHandler); SyncTaskServiceWrapper sTaskService = new SyncTaskServiceWrapper(new AsyncHornetQTaskClient( "HumanTaskExample-testClient")); sTaskService.connect("127.0.0.1", 5445);
4 jbpm5 启动流程
//流程启动时需要的参数 Map<String, Object> params = new HashMap<String, Object>(); params.put("user", username); sSession.startProcess("defaultPackage.HumanTestUser", params);
5 jbpm5 根据用户名称获取当前需要执行的人工任务
List<TaskSummary> taskes = sTaskService .getTasksAssignedAsPotentialOwner(username, "en-UK"); for (TaskSummary task : taskes) { //人工任务的名称 task.getName(); //人工任务的ID task.getId(); }
6 jbpm5 获取人工任务的参数
//根据任务ID获取任务 Task task = sTaskService.getTask(taskInfo.getTaskID()); if (task != null) { //获取任务的名称并却保存在taskInfo中,taskInfo我自己定义的存储任务基本信息的类 taskInfo.setTaskName(task.getNames().get(0).getText()); // 获取task的参数 Object input = null; long contentId = task.getTaskData().getDocumentContentId(); if (contentId != -1) { //获取任务的输入信息 Content content = sTaskService.getContent(contentId); input = ContentMarshallerHelper.unmarshall(task.getTaskData().getDocumentType(), content.getContent(), sHumanTaskHandler.getMarshallerContext(), null); //输入信息格式为Map<String,Object>,将输入信息存放到HttpServletRequest中 HttpServletRequest request = ServletActionContext.getRequest(); if (input instanceof Map<?, ?>) { Map<?, ?> map = (Map<?, ?>) input; for (Object obj : map.keySet()) { request.setAttribute(obj.toString(), map.get(obj).toString()); System.out.println("key: " + obj.toString() + " value: " + map.get(obj).toString()); } } } }
7 jbpm5 开始并且完成人工任务
HttpServletRequest request = ServletActionContext.getRequest(); String username = (String) request.getSession().getAttribute("username"); if (taskInfo != null) { //根据taskID获取要完成的任务 Task task = sTaskService.getTask(taskInfo.getTaskID()); //开始人工任务 sTaskService.start(task.getId(), username); //将输入的参数转换到人工任务需要的格式 Map<String, Object> results = new HashMap<String, Object>(); for (Object key : request.getParameterMap().keySet()) { results.put(key.toString(), request.getParameter(key.toString())); } ContentData contentData = ContentMarshallerHelper.marshal(results, sHumanTaskHandler.getMarshallerContext(), null); //完成人工任务 sTaskService.complete(task.getId(), username, contentData); }
8 jbpm5 流程图形化监控
Collection<ProcessInstance> processes = sSession.getProcessInstances(); //如果当前没有活动的流程,则将结束节点高亮显示 if (processes.size() == 0) { //将流程节点坐标输入的request中 HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("x", "582"); request.setAttribute("y", "92"); request.setAttribute("width", "48"); request.setAttribute("height", "48"); return Action.SUCCESS; } //获取一个当前活动的流程 ProcessInstance process = processes.iterator().next(); if (process instanceof RuleFlowProcessInstance) { RuleFlowProcessInstance instance = (RuleFlowProcessInstance) process; //获取最后一个活动的节点,并将坐标输入到request中 for (NodeInstance node : instance.getNodeInstances()) { Map<String, Object> data = node.getNode().getMetaData(); HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("x", data.get("x").toString()); request.setAttribute("y", data.get("y").toString()); request.setAttribute("width", data.get("width").toString()); request.setAttribute("height", data.get("height").toString()); } }
jsp页面代码如下:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Sign On</title> </head> <body> <!-- 显示流程对应的图片 --> <img src="../example/apply/HumanTestUser-image.png" style="position: absolute; left: 0px; top: 0px;"> <!--将活动的节点高亮显示 --> <s:div style="position: absolute; border: 2px solid red; left: %{#request.x}px; top: %{#request.y}px; width: %{#request.width}px; height: %{#request.height}px;"></s:div> </body> </html>
评论
2 楼
pyzheng
2013-10-17
不是我写的 文章里面的前面有链接的 一般都是收藏别人的东西 iteye啊 我很多时候是用来记录和收藏东西而已。
1 楼
cbigbird
2013-10-17
写的挺好,正好在看获取人工任务的入参那块。
发表评论
-
drools 规则文件 —— 语法
2014-06-09 21:53 3431原文:http://liureying.blog.163.co ... -
使用eclipse创建bpmn2文件的一些问题
2014-06-07 15:18 1757使用bpmn2 diagram Editor编辑器的问题 1 ... -
JBPM6入门资料: Spring4 + Hibernate4 + JBPM6整合
2014-05-21 19:39 18785参考资料: =============== ... -
我的Activiti例子
2013-09-21 15:01 6905Spring 与Activiti的入门整合 http://ww ... -
各种状态的任务查询以及和业务对象关联
2013-09-21 14:26 1964http://www.kafeitu.me/activiti/ ... -
Activiti: 三种部署方式和几种启动方式
2013-09-20 00:24 4732三种部署: 1.自动部署: <property name ... -
Activiti modeler 国际化要点
2013-09-18 15:33 25591. 界面文本:src/main/resources/sten ... -
两篇整合Activiti Modeler到业务系统
2013-09-17 14:29 8705整合Activiti Modeler到业务系统(或BPM平台) ... -
Activiti5.12共22张表
2013-09-17 14:10 1970(1)用户管理表 ACT_ID_GROUP; ... -
Activiti: 关于表单的一些接口
2013-09-17 09:31 2487获得流程启动的时候的表单信息 ProcessInstance ... -
Activiti5: TaskQuery查询API
2013-09-16 13:34 3472http://blog.csdn.net/iflow/arti ... -
第一个Activiti5.13 + Spring3.x例子
2013-09-16 13:24 2367参考: http://www.iteye.com/topic/ ... -
kft-activiti-demo: 部署记录
2013-09-13 17:36 20152.SpringMvc + Activiti + Hibern ... -
SSH 整合 Activiti
2013-09-09 14:45 2026原文:http://blog.chinaunix.net/ui ... -
Activiti BPM Platform工作流的一些资料
2013-09-03 16:07 2936Activiti官方: http://www.activiti ... -
JBPM5.4发送email
2013-05-29 15:57 2086JBPM5.4配置参考: http://panyongzhen ... -
Spring3.1 + Hibernate4.2.1 + JBPM5.4 + Ehache整合例子
2013-05-29 11:17 9486pom.xml ----------------------- ... -
JBPM5 Designer 2.3源码问题
2013-05-24 09:50 2345最新本2.4发布,但是里面是使用Maven的module方式来 ... -
Spring 3 & jBPM 5 & LocalTaskService
2013-05-24 09:52 1831帖子地址:https://community.jboss.or ... -
JBPM Designer 部署
2013-05-24 09:53 1656版本:2.4 把war放到tomcat下面之后,进入的url是 ...
相关推荐
### JBPM5入门学习知识点详解 #### 一、JBPM5简介 **1.1 什么是JBPM** JBPM(Java Business Process Management)是一个开源的业务流程管理框架,旨在为开发者提供一个简单、灵活且可扩展的平台来设计、执行和...
jbpm5入门学习资料
本资料主要围绕jbpm的核心组件——jPDL进行讲解,帮助学习者深入理解jbpm的工作原理和应用。 jPDL(jBPM Process Definition Language)是jbpm使用的一种基于XML的语言,用于描述业务流程。它提供了一系列的元素和...
总的来说,这个主题资料包提供了jbpm4和jbpm5的基础知识、实战经验和用户操作指导,对于想要学习或深化jbpm流程管理框架理解的开发者非常有价值。通过学习这些文档,开发者可以掌握jbpm的核心概念,熟练地设计和部署...
【JBPM相关学习资料】 JBPM,全称Java Business Process Management,是一款开源的工作流管理系统,由Red Hat公司维护。它提供了全面的业务流程自动化解决方案,包括业务流程建模、执行和监控,以及与企业应用程序...
jbpm5资料是一个关于JBoss jBPM 5的资源集合,主要包含了深入浅出_jBPM_电子书.doc、Packt.Publishing.Business.Process.Management.with.JBoss.jBPM.Jul.2007.pdf和jBPM5_用户手册-中文版.pdf这三份文档。...
压缩包中的“学习文档”很可能包含了jbpm4.4的官方文档、教程、示例代码和相关案例,这些是深入学习的重要参考资料。此外,还可以参考社区论坛、博客文章、在线课程等多渠道学习资源,提高jbpm技能。 总之,jbpm4.4...
【jbpm学习资料汇总】 jbpm,全称是Java Business Process Management,是一个开源的工作流管理系统,主要用于业务流程的建模、执行和管理。它提供了一种灵活的方式,使得开发人员和业务分析师能够协同工作,创建、...
**JBPM3学习资源概述** JBPM3是一个开源的工作流程管理系统,它允许开发者设计、部署和执行业务流程。本资源包包含了一系列的学习材料,旨在帮助用户深入理解和掌握JBPM3的相关知识。 **核心组件与概念** 1. **...
【JBPM4整理学习资料】是一份全面介绍JBoss企业级业务流程管理(Business Process Management,简称BPM)系统JBPM4的教育资源。该资料集合了API文档、安装配置指南、常见操作步骤、数据库表结构解析以及流程分支与...
通过jBPM5_用户手册-中文版.pdf,读者可以深入了解这些概念和功能,学习如何部署jBPM5,设置开发环境,创建第一个流程,以及如何使用工作流引擎进行流程实例的管理和控制。此外,手册还将涵盖如何使用jBPM提供的各种...
提供的"JBPM5_用户指南.doc"文档很可能是详细的教程资料,涵盖了jbPM5的安装、环境配置、流程设计、示例项目、API使用、调试技巧等方面的内容。通过阅读这份指南,初学者可以快速掌握jbPM5的基本用法,并逐步深入到...
1. **官方文档**:JBPM4的官方文档详尽介绍了其架构、API和使用方法,是学习的重要参考资料。 2. **示例项目**:通过官方提供的示例项目,可以快速理解JBPM4的基本用法。 3. **社区与论坛**:如ITEYE博客中的...
jBPM,全称为Java Business Process Management,是一款开源的工作流管理系统,由JBoss...斯坦福特的jbpm培训ppt是一份很好的学习资源,适合初学者入门,涵盖了jBPM的基础知识和实践操作,有助于快速掌握jBPM的使用。
jbpm工作流学习资料大全是一份综合性的资源集合,涵盖了jbpm工作流的各个方面,适合初学者和进阶者深入理解这一技术。jbpm(Java Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行...