Ibm mq 用于管理被拒绝消息的MQ消息传递体系结构
在MQ客户机上管理消息拒绝的两种方法之间,我很难做出选择。诚然,这与其说是技术上的争论,不如说是意识形态上的争论 考虑一下:队列上的消息(XML)由客户机读取。在进一步处理之前,客户机检查数字签名(并进一步检查消息是否符合特定模式)。假设数字签名的验证失败了。我不想进一步处理这个消息。它需要回到源头,并“手工”进行分类 据我所知,我可以采取两种方法: 选项1Ibm mq 用于管理被拒绝消息的MQ消息传递体系结构,ibm-mq,mq,Ibm Mq,Mq,在MQ客户机上管理消息拒绝的两种方法之间,我很难做出选择。诚然,这与其说是技术上的争论,不如说是意识形态上的争论 考虑一下:队列上的消息(XML)由客户机读取。在进一步处理之前,客户机检查数字签名(并进一步检查消息是否符合特定模式)。假设数字签名的验证失败了。我不想进一步处理这个消息。它需要回到源头,并“手工”进行分类 据我所知,我可以采取两种方法: 选项1 客户端读取消息 客户确认收到 客户端发现消息以某种方式无效 客户端将无效消息写入“拒绝”队列 CLI
- 客户端读取消息
- 客户确认收到
- 客户端发现消息以某种方式无效
- 客户端将无效消息写入“拒绝”队列
CLIENT MQ CLIENT READ +-------+ +----+ OUT Q | --- | --------> |PROCESS| -----> |NEXT| | --- | |MESSAGE| |STEP| +-----+ +-------+ +----+ | | REJECT Q | --- | <-------------+ | --- | FAILURE +-----+
客户端MQ客户端 读+------++-----+ OUT Q——————————————————————————下一步 |——| |信息| |步骤| +-----+ +-------+ +----+ | | 拒绝Q |--| | | |-->|下一步| |——|感谢双方以及他们的帮助和投入 归根结底是这样的: 应用程序应处理应用程序错误,格式错误的消息是应用程序错误。队列管理器应仅处理传输错误。() 而这个 没有让队列管理器将失败消息路由到侧队列的机制。这是应用程序的责任。()
因此,在出现应用程序错误的情况下,客户端本身将被期望将失败/格式错误的消息写回带外的单独队列。请您解释一下MRRTY是什么?我认为第一种解决方案要干净得多,应用程序应该处理应用程序错误,格式错误的消息是应用程序错误。队列管理器应该只处理传输错误?它没有MRRTY选项,当然也没有路由失败消息的机制。您应该指定您正在使用的MQ。MRRTY确实存在于WebSphere MQ中,并且是通道上的消息重试次数。与MRTMR(消息重试计时器)密切相关。这仅适用于接收器类型通道,不适用于客户机-服务器通道,可选择选项1。没有让队列管理器将失败消息路由到侧队列的机制。这是应用程序的责任。CLIENT MQ CLIENT READ +-------+ +----+ OUT Q | --- | --------> |PROCESS| -----> |NEXT| | --- | <-------- |MESSAGE| |STEP| +-----+ FAILURE +-------+ +----+ | | V REJECT Q | --- | | --- | +-----+