IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

MQ消息等待处理


IBM大型机论坛 -> 爪哇& MQSeries
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
莫希特saini
警告:1

新的用户


已加入:2006年5月15日
帖子:92

发布发表:星期六六月20,2015 5:39上午
引用回复

大家好,

我正在MQ / CICS大型机环境中工作。

根据我的要求,我正在MQ上接收消息(XML格式),然后触发一个CICS事务ETTT(例如)。现在,如果某个其他DB2表中的标志设置为Y,则此事务/程序将无法继续处理消息。程序处理必须等待,直到该标志设置回N。N就像一个绿色信号。 Y就像一个红色信号。

现在,可以将此标志设置为Y几分钟,而在那几分钟内,我不想让我的cobol程序等待/进入睡眠状态。

我在考虑两个选项,但不确定如何使它起作用:

1.从非破坏性读取开始(使用浏览模式)
问题是,如果Db2表标志已设置为N,那么我该如何将其转换为破坏性读取。

2.从正常的MQGET开始,如果我看到DB2标志为Y,那么将消息写入临时表并退出程序。但是我不确定队列中其余的消息会发生什么。

有什么想法。如果您愿意,我可以进一步阐述。

谢谢,
莫希特
回到顶部
查看用户资料 发送私信
加里·卡罗尔

高级会员


加入时间:2006年5月8日
职位:1100
所在地:爱尔兰都柏林

发布发表:2015年6月22日星期一1:59 pm
引用回复

引用:
1.从非破坏性读取开始(使用浏览模式)
问题是,如果Db2表标志已设置为N,那么我该如何将其转换为破坏性读取。


您需要做的只是ENDBROWSE,然后发出破坏性的MQGET并指定相关的MSGID。但是,这不是解决您情况的好方法,因为如果您不发出破坏性的MQGET并终止任务,那么当下一条消息到达时,此消息将位于队列的开头,以生成触发器。您如何确保随后检索到正确的消息?我没有在触发消息中看到可用于此目的的字段。


引用:
2.从正常的MQGET开始,如果我看到DB2标志为Y,那么将消息写入临时表并退出程序。但是我不确定队列中其余的消息会发生什么。


这看起来更像是要走的路。队列中的其余消息没有问题,因为它们在触发时将被处理(我假设您使用的是TRIGGER = EVERY并且这些消息是单独的?)。但是,当标志设置为“ N”时,您需要某种机制来处理从临时表到DB2表的消息。

加油
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> 爪哇& MQSeries

 


类似主题
话题 论坛 回覆
没有新帖 阅读4MB消息并拆分成多个... COBOL程式设计 9
没有新帖 使用应用程序处理CICS文件 CICS 3
没有新帖 强制返回代码并打印错误消息... 同步排序 30
没有新帖 已开始的交易进入"firs... CICS 3
没有新帖 数据集消息中的警告 TSO / ISPF 18
搜索我们的论坛:


回到顶部