起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4573|回复: 3

[结贴] 流程的流转事件监听

  [复制链接]

38

主题

88

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
发表于 2013-7-23 23:22:58 | 显示全部楼层 |阅读模式
X521版本中有没有流程流转后置事件的机制实现以下需求:
系统已稳定运行一段时间了,但目前新增一个功能需求,即,在所有流程流转后每新产生一个待办任务,就通过XMAPP协议发送一个消息给Spark(IM工具),请问,在不改变流程代码的情况下,有没有这种类似onCreateTaskListener或createTaskHandler之类的接口,在对应的Listener或Handler中实现发消息的逻辑?

38

主题

88

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
 楼主| 发表于 2013-7-23 23:44:31 | 显示全部楼层
如果是新绘制的流程,可以使用流程的流程流转之后的事件(onAfterAdvance )来满足此类问题,但针对于已经存在并且已稳定运行的流程,原则上我们不想再改动了,况且原有的流程有很多,有没有类似AOP的机制可以拦截到所有的流程流转事件,在对应的事件监听中添加自定义代码?
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2013-7-24 09:20:42 | 显示全部楼层
本帖最后由 hecr 于 2013-7-24 09:22 编辑

使用标准的action事件就可以实现你的需求。 action事件有三个级别: 模块级别, 流程级别和环节级别(具体说明可参考高级开发手册中关于action事件的说明),你这个需求应该使用模块级别的action事件, 比如,在你的应用模块的根上(假设是/SA)添加一个文件myListener.m, 内容如下:
<model xmlns="http://www.justep.com/model">
<listener action="advanceProcessAction" event="after" handler="afterAdvanceProcedure"/>
</model>

afterAdvanceProcedure需要你自己定义, 在这个procedure指向的java中实现你的业务逻辑,这时,这个/SA模块下(包括所有子模块)所有的流程中任何环节执行advanceProcessAction都会触发这个事件

回复 支持 反对

使用道具 举报

34

主题

135

帖子

637

积分

高级会员

Rank: 4

积分
637
QQ
发表于 2016-6-16 11:29:07 | 显示全部楼层
hecr 发表于 2013-7-24 09:20
使用标准的action事件就可以实现你的需求。 action事件有三个级别: 模块级别, 流程级别和环节级别(具体 ...

请问这个监听文件里可以同时监听多个action么,比如这个例子是流转的action, 我还要监听回退的,怎么方便弄?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-17 20:21 , Processed in 0.085857 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表