JBPM 3.2.3之【ERROR Delegation 】异常

编程技术  /  houtizong 发布于 3年前   46

刚刚接触JBPM,理解不是太深刻,在测试节点异常功能的时候遇到了【ERROR Delegation 】异常

ERROR Delegation : couldn't instantiate delegation class 'test.CatchNodeExceptionAction'

ERROR Delegation : couldn't load delegation class 'test.CatchNodeExceptionAction'

具体问题应该是在发布流程模板到数据库时出现问题,

我到数据库中SELECT * FROM jbpm_delegation 到表中查询,查看到

ID_ CLASSNAME_ CONFIGTYPE_ PROCESSDEFINITION

13 test.CatchNodeExceptionAction field 8

所以一开始我就以为代理类建立了,但是事实上我被这个所蒙骗了,到对应的项目目录下,看一下该类是否被编译

进入G:/exercisespace/jbpm-test/bin/test 编译的class目录下却没有发现编译的test.CatchNodeExceptionAction

可见这里出现的问题的就是CatchNodeExceptionAction类,

所以就检查:

1.类名和流程模板配置文件中类名是否一致,(这个虽然说是小儿科,但是大部分都会栽在这个问题上)

2.进入流程模板的【Deployment】页签下,查看Java Classes and Resources 配置下面是否选择了所依赖的类,虽然Eclipse会默认帮你选择,但是还检查一遍为好

3.检查你项目依赖的jar是否齐全,我就是栽在了这个问题上,因为要连接Sql2005,之前在build Path时加的外部jar,后来位置发生变动,再打入jar包,但是之前的错误引用没有从ClassPath里面删除,所以报了这个错误。

我的jBPM版本是3.2.3。

但是经过测试得出一个小结论,但不知道是否正确,

我配置了

<exception-handler exception-class="java.lang.Exception">
<action class="test.CatchNodeExceptionAction"></action>
</exception-handler>

其中 class="test.CatchNodeExceptionAction" 在没有编译通过的情况下,强行发布流程模板到数据中,

流程模板是能够正常发布到JBPM_PROCESSDEFINITION表中,

并且到JBPM_DELEGATION 表中,会发现流程模板所需要的actionHandle类也正常的发布到表中(不管是否编译成功)。

所以若是不仔细的话,异常就会在RunTime的时候才会出现

呵呵,若有问题还请大家指教,jBPM学习中,非常乐意接受意见

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客