JBPM 3.2.3之【ERROR Delegation 】异常

    刚刚接触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学习中,非常乐意接受意见

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值