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

QQ登录

只需一步,快速开始

查看: 20302|回复: 20

[结贴] 调用api发送的通知,如何获取task

[复制链接]

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
发表于 2017-12-20 11:35:10 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
现在我有个自定义的消息表,平台的流程任务,都会通过监听器,将任务生成消息插入到消息表。由两个定时任务来发送IM待办和短信提醒。

我使用监听监听流程事件,
ProcessContext pc = ProcessUtils.getProcessContext();
可以通过ProcessContext获取生成的待办任务,从根据task的属性,生成消息。

但是,我现在有个功能调用是生成x5待阅通知的action,
对这个action的监听或者拦截 ,是无法获取流程上下文的,那我如何获取task进而 生成消息呢?
及时结贴是个好习惯

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2017-12-20 14:05:53 | 显示全部楼层
自定义的action的监听吗?

流程的上下文只能在流程事件中使用,不能在自己定义的action中使用

自定义的action发通知,可以把action设置返回,把创建通知生成的id方法,监听中获取通过action的上下文ActionContext获取action的执行结果

获取创建通知的任务id如下:
  1. Task t = TaskHelper.createNotice("自定义通知", "/appdemo/test/process/date/dateProcess", "mainActivity", "/appdemo/test/process/date/mainActivity.a", "/appdemo/test/process/date/mainActivity.a",
  2.                                 sData1, ls.get(0), varMap);
  3.                 System.out.println(t.getId()+"创建通知的id");
复制代码

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-12-20 14:44:53 | 显示全部楼层
jishuang 发表于 2017-12-20 14:05
自定义的action的监听吗?

流程的上下文只能在流程事件中使用,不能在自己定义的action中使用

微信截图_20171220143828.png
我这个action是给UI调用的,返回Task,会报错。
提示不支持的类型
微信截图_20171220144419.png


actionContext 怎么获取结果
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-12-20 14:48:34 | 显示全部楼层
jishuang 发表于 2017-12-20 14:05
自定义的action的监听吗?

流程的上下文只能在流程事件中使用,不能在自己定义的action中使用

你意思是返回task的ID,然后我从actionContext获取id,再通过id查询task
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2017-12-20 15:06:53 | 显示全部楼层
江苏院-吴昊 发表于 2017-12-20 14:48
你意思是返回task的ID,然后我从actionContext获取id,再通过id查询task

是的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-12-20 15:08:56 | 显示全部楼层
jishuang 发表于 2017-12-20 14:05
自定义的action的监听吗?

流程的上下文只能在流程事件中使用,不能在自己定义的action中使用

自定义的action 监听好像不太行啊。
提示:
定义Listener "/COMS/platform/logic/processListener/sendAppNoticeAction"出错, action属性"sendAppNoticeAction"引用的Action不存在

这个action所在process没有流程图。

监听我用在 流程中是可以的。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2017-12-20 15:27:57 | 显示全部楼层
监听在什么地方定义的?同级的model.config.xml文件中引用action的路径了吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-12-20 16:58:14 | 显示全部楼层
jishuang 发表于 2017-12-20 15:27
监听在什么地方定义的?同级的model.config.xml文件中引用action的路径了吗?

监听定义在/A/logic 下
自定义 action定义在 /B/logic/action 下

你的意思是监听器所在model中需要引用那个自定义的action?
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-12-20 17:10:26 | 显示全部楼层
jishuang 发表于 2017-12-20 15:27
监听在什么地方定义的?同级的model.config.xml文件中引用action的路径了吗?

能监听到了。现在有个问题是,如果通过taskID获取 Task类型的对象,
我不希望用KSQL获取table类型的。我需要task类型的。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2017-12-20 17:24:14 | 显示全部楼层
具体需求要做什么?
在非流程的动作中通过task的id只能通过KSQL去查
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 10:23 , Processed in 0.066569 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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