最近在做activiti的开发,有这样一个需求:服务任务节点有一个Java类的配置,而这个类需要实现JavaDelegate(activiti)提供的接口并实现execute()方法,实现接口后该类会在流程执行到该节点后自动执行该类的execute方法,我现在需要在execute方法前后添加自己的业务逻辑,不能对execute方法有任何的侵入性。试过动态代理,但是动态代理是需要触发其执行,但是我这个类是流程内部自己实例化并执行的,不能使用动态代理进行处理。不知道各位大神有什么建议没?!

解决方案 »

  1.   

    execute方法是activiti触发的,也就是如果activiti的配置不能支持这种方法前后插入逻辑,又不能更改现有的Java类,是没有办法的。
      

  2.   

    如果需求上可以更改触发的类或者允许修改现有的Java类,那么就有N种方法解决这个问题。
    先查一下activiti的配置是否支持方法前后插入逻辑,不支持的话就提一个方案修改需求,别费脑筋了。
      

  3.   

    你可以去蓝鲸智云的标准运维手册文档的“原子开发”看一下:http://docs.bk.tencent.com/product_white_paper/gcloud/term3.html
      

  4.   

    如果需求上可以更改触发的类或者允许修改现有的Java类,那么就有N种方法解决这个问题。
    先查一下activiti的配置是否支持方法前后插入逻辑,不支持的话就提一个方案修改需求,别费脑筋了。嗯嗯,没办法实现,最后还是侵入性的插入业务逻辑