`
nychen2000
  • 浏览: 79596 次
  • 性别: Icon_minigender_1
  • 来自: ...
社区版块
存档分类
最新评论

JBPM工作流的性能问题

阅读更多
前言:我计划把我的blog从51cto移到javaeye,陆陆续续地把我对工作流的理解贴上来,和大家交流。

我在项目中应用过jbpm工作流,总体而言,jbpm是诸多开源workflow中比较好的一个。他的面向图的设计比起那些一味宣称遵守所谓的WfMC规范的工作流好多了。

在应用的过程中,我发现jbpm还是有不少问题,其中性能问题比较突出。主要表现为:
1、任务分配的表设计不合理,如果我想搜索出当前用户有哪些待办工作需要好几个表乘积。数据量一大,性能马上降下去了。

2、每次业务流程操作,数据库的IO操作过多。

3、历史数据和当前活动的数据没有分开存储,例如已经完成的taskinstance和活动的taskinstance在同一个表中。这样随着系统不断运行,jbpm_taskinstance等表会变得非常巨大。严重影响性能。实际上这些已经完成的历史数据很少用到,应该转移到其他的表。

这些问题在我的Fire workflow设计中都考虑进去了。^_^
分享到:
评论
8 楼 dinw 2008-10-27  
nychen2000 写道

ry.china 写道19:55:10,750 [http-8080-1] ERROR SessionFactoryImpl : Error in named query: GraphSession.findTokensForProcessInNodeorg.hibernate.hql.ast.QuerySyntaxException: Invalid path: 'node.name' [          select token      from org.jbpm.graph.exe.Token token      where token.processInstance.processDefinition.name = :processDefinitionName        and node.name = :nodeName}这个问题是什么问题呀你用的是jbpm命名查询吗,还是你自己写的hql?这个hql错了吧!node.name中的node根本找不到对应的对象。

这是jbpm3.2.3已知的bug
改一下hql就可以了
7 楼 nychen2000 2008-10-27  
ry.china 写道

19:55:10,750 [http-8080-1] ERROR SessionFactoryImpl : Error in named query: GraphSession.findTokensForProcessInNodeorg.hibernate.hql.ast.QuerySyntaxException: Invalid path: 'node.name' [          select token      from org.jbpm.graph.exe.Token token      where token.processInstance.processDefinition.name = :processDefinitionName        and node.name = :nodeName}这个问题是什么问题呀

你用的是jbpm命名查询吗,还是你自己写的hql?

这个hql错了吧!node.name中的node根本找不到对应的对象。
6 楼 ry.china 2008-10-26  
19:55:10,750 [http-8080-1] ERROR SessionFactoryImpl : Error in named query: GraphSession.findTokensForProcessInNode
org.hibernate.hql.ast.QuerySyntaxException: Invalid path: 'node.name' [
   
      select token
      from org.jbpm.graph.exe.Token token
      where token.processInstance.processDefinition.name = :processDefinitionName
        and node.name = :nodeName
}
这个问题是什么问题呀
5 楼 turingbooks 2008-10-26  
期待大家共同努力来解决这些问题,(*^__^*) 嘻嘻……
4 楼 nychen2000 2008-10-24  
adparking 写道

希望楼主说出自己的解决方法。大家研究研究

接下来的blog会讲到,现在一下子写不了那么多.
3 楼 adparking 2008-10-24  
希望楼主说出自己的解决方法。大家研究研究
2 楼 nychen2000 2008-10-24  
fanfree 写道

只提出了问题,解决办法呢


从jbpm本身很难解决上面的问题的,
1、关于工作分派,我的临时方法是将所有的ActorID,组织成一个长长的字符串(逗号分割),搜寻工作时用like,目的是尽量减少表的乘积。

2、关于数据库IO操作,我想不出好办法。

3、关于历史数据:理应可以加上一些eventlistener,在适当的时机将这些数据移走,但是jbpm数据库表之间的关联复杂的不得了,删除一条数据会有一连串的数据库约束,我真的没有耐心去研究,所以暂时只能放在那里。
1 楼 fanfree 2008-10-24  
只提出了问题,解决办法呢

相关推荐

    JBPM与Activity分析.doc

    JBPM与Activity实现原理与性能分析.doc

    FireWorkflow工作流原理、设计与应用.zip

    我了解过的工作流产品(主要是开源的,收费产品没有什么研究,仅仅看看其白皮书而 已)都存在如下毛病: a. 缺乏严密的理论做支撑,工作流模型大多千篇一律地照搬WfMC 的xpdl, b. 因为缺乏理论支撑,所以工作流引擎...

    基于Maven搭建ssm,bootstrap,mysql 实现后台管理

    A 代码生成器(开发利器);全部是源码 增删改查的处理类,service层,...E 微信接口开发(后续会加入Activiti5 工作流 )赠送一个jbpm工作流大型ERP系统(含OA、财务、分销)参考学习 F WebSocket 通信技术 即时通讯功能

    基于JBPM的电子政务系统的设计

    由于电子政务建设中软件费用支出巨大,本文提出了一个基于开源工作流引擎JBPM的电子政务系统的设计方案,该设计方案既能提高了电子政务系统性能,又能有效的节省软件开发的费用。1引言所谓电子政务,是指各级政务部门...

    嵌入式系统/ARM技术中的基于JBPM的电子政务系统的设计

    由于电子政务建设中软件费用支出巨大,本文提出了一个基于开源工作流引擎JBPM的电子政务系统的设计方案,该设计方案既能提高了电子政务系统性能,又能有效的节省软件开发的费用。  1 引言  所谓电子政务,是指各级...

    Java全能学习面试手册——Java精品实战技术书.zip

    04 JBPM工作流开发指南 .pdf 05 MySQL高性能书籍_第3版(中文).pdf 06 MySQL技术内幕 InnoDB存储引擎 第2版.pdf 07 Practical.API.Design.Confessions.of.a.Java.Framework.Architect.pdf 08 陈皓-Cloud Native 云...

    毕业设计基于JAVA的springboot班级综合测评管理系统-1(源代码+说明)

    本系统主要使用了Java技术Springboot框架技术,结合JBPM工作流引擎以及功能强大的MySQL数据库管理工具。系统实现了个人中心、学生管理、教师管理、班级管理、综合测评管理等功能的管理,完成了系统设计任务的所有...

    毕业设计基于JAVA的springboot班级综合测评管理系统-2(源代码+说明)

    本系统主要使用了Java技术Springboot框架技术,结合JBPM工作流引擎以及功能强大的MySQL数据库管理工具。系统实现了个人中心、学生管理、教师管理、班级管理、综合测评管理等功能的管理,完成了系统设计任务的所有...

    java版商城源码下载-at:在

    java版商城源码下载 ...)赠送一个jbpm工作流大型ERP系统(含OA、财务、分销)参考学习 F WebSocket 通信技术 (即时聊天、及时站内信并声音提醒、实时在线管理) 模块化、服务化,流程化,耦合度低、扩展性好,灵活度

Global site tag (gtag.js) - Google Analytics