关于动态代理的疑惑

mxf_main 2018-08-25 11:23:29
最近在做activiti的开发,有这样一个需求:服务任务节点有一个Java类的配置,而这个类需要实现JavaDelegate(activiti)提供的接口并实现execute()方法,实现接口后该类会在流程执行到该节点后自动执行该类的execute方法,我现在需要在execute方法前后添加自己的业务逻辑,不能对execute方法有任何的侵入性。试过动态代理,但是动态代理是需要触发其执行,但是我这个类是流程内部自己实例化并执行的,不能使用动态代理进行处理。不知道各位大神有什么建议没?!
...全文
325 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxf_main 2018-09-12
  • 打赏
  • 举报
回复
引用 4 楼 stacksoverflow 的回复:
[quote=引用 3 楼 stacksoverflow 的回复:]
execute方法是activiti触发的,也就是如果activiti的配置不能支持这种方法前后插入逻辑,又不能更改现有的Java类,是没有办法的。

如果需求上可以更改触发的类或者允许修改现有的Java类,那么就有N种方法解决这个问题。
先查一下activiti的配置是否支持方法前后插入逻辑,不支持的话就提一个方案修改需求,别费脑筋了。[/quote]嗯嗯,没办法实现,最后还是侵入性的插入业务逻辑
mxf_main 2018-09-12
  • 打赏
  • 举报
回复
引用 3 楼 stacksoverflow 的回复:
execute方法是activiti触发的,也就是如果activiti的配置不能支持这种方法前后插入逻辑,又不能更改现有的Java类,是没有办法的。
确实不能实现,看了源码,没办法处理
stacksoverflow 2018-08-27
  • 打赏
  • 举报
回复
引用 3 楼 stacksoverflow 的回复:
execute方法是activiti触发的,也就是如果activiti的配置不能支持这种方法前后插入逻辑,又不能更改现有的Java类,是没有办法的。

如果需求上可以更改触发的类或者允许修改现有的Java类,那么就有N种方法解决这个问题。
先查一下activiti的配置是否支持方法前后插入逻辑,不支持的话就提一个方案修改需求,别费脑筋了。
stacksoverflow 2018-08-27
  • 打赏
  • 举报
回复
execute方法是activiti触发的,也就是如果activiti的配置不能支持这种方法前后插入逻辑,又不能更改现有的Java类,是没有办法的。
济南大飞哥 2018-08-27
  • 打赏
  • 举报
回复
触发哪个类肯定是可以配置的。。
象话 2018-08-27
  • 打赏
  • 举报
回复
你可以去蓝鲸智云的标准运维手册文档的“原子开发”看一下:http://docs.bk.tencent.com/product_white_paper/gcloud/term3.html

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧