在Jbpm的processInstance与taskInstance都对外提供了挂起进程实例或工作实例的的接口,同时也提供了释放的接口。分别是:
1,processinstance
processinstance.suspend();
processInstance.resume();
2,taskInstance
taskInstance.suspend();
taskInstance.resume();
同时processinstance与 taskInstance还提供了一个标志位,isSuspended与isOpen分别表示是挂起还是开放状态,如果标志位isSuspended=true&&isOpen=fasle,那么这个进程实例或任务实例在用户界面就不会被找出来,但在管理界面还是可以看到。如果isSuspended=false&&isOpen=true,结果就是正常情况了。
以上介绍了一下Jbpm中挂起与释放的功能,但它存在一个bug,在正常情况下当你调用这两个方法时,是会出错的。提示badsql 语法错误,经过跟踪才知道原来在Jbpm的查询语句里出现了错误。在这里简单介绍一下Jbpm的数据库查询方法,Jbpm的底层持久层采用的是Hiberante3.1,但是它的查询方法却是采用了很少人会用的外置命名查询(为什么采用这个方法,采用这个方法有什么好处,我也没有对它进行研究过。^_^),问题就出在,在调用挂起与释放这两个方法时,它主要做的是以下几个操作:
suspendTimers();
suspendMessages();
suspendTaskInstances();
跟踪得到在挂起messages时出现了错误,文件就出在外置命名查询的sql语句上:
原码:
<query name="MessagingSession.suspendMessagesForToken">
<![CDATA[
update org.jbpm.msg.Message
set isSuspended = true
where token = :token
]]>
</query>
看到这里属性hibernate的人应该马上可以知道那里出了问题了,^_^!
在hibernate中条件查询一定要定义别名,如下就正常了!^_^!
<query name="MessagingSession.suspendMessagesForToken">
<![CDATA[
update org.jbpm.msg.Message me
set me.isSuspended = true
where me.token = :token
]]>
</query>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jonim/archive/2006/11/03/1364208.aspx
分享到:
相关推荐
jBPM4.4入门开发实例
jbpm4实例代码。。。。。。。。。。。。。
内含jbpm4.4的会签实例,使用customactivity实现,并且内含有使用的丰富工具类,有兴趣的朋友下载学习~
jbpm4 的 实例 jbpm初学者入门的捷径
JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上 JBPM的工程文件,大家可以到...
struts2+spring+hibernate+jbpm工作流实例 描述的是公文审批流转过程.
jbpm实例详解,这是一个有关jbpm的例子以及解释,详细介绍了jbpm的基础开发实现。
利用jbpm5实现请假流程 1、注意数据库配置文件的修改 2、用户数据库的邮件字段里内容修改,否则可能会出现权限问题
jbpm4实例源码,可直接运行
spring3.2+jBPM6整合实例
jBPM 4.2 HelloWorld实例,jBPM 4.2 HelloWorld实例
我写的一个jbpm实例
jbpm教程和实例,并详细讲述了相关配置,是新手上手的最好资料。
经典的配置好的jbpm实例,可以直接部署到tomcat,直接导入到myeclipse即可。
Jbpm实例代码,供学习参考。里面包含源代码!
这是一个jbpm员工请假实例PDF文档,里面写得很详细,有图有代码,有文字描述,非常不错!
Jbpm与ssh2的集成的环境搭建,只是简单的搭建,有分层,可以从spring中取到processEngine
JBPM4 开发文档 实例 流程 JBPM4 开发文档 实例 流程 JBPM4 开发文档 实例 流程
web工程,导入到myeclipse即可使用,先需要建立mysql的jbpmTest数据库 包含用户登录界面,查看流程图,我的任务列表等基础功能,
这个是上个jBPM5 实例实践的运行结果文档信息,因为上次的例子给的资料不够,可能不知道如何运行,以及运行结果,因此这里补齐该资源