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];
文章归档
文章标签
友情链接