`

Websphere MQ消息序号Message Sequence详解

阅读更多

一.什么是MQ的消息序号?

        通道为每一条消息的传送分配了一个序列号,它会自动累计增值。

        消息序列号由发送通道分配,是通道的一个永久属性,每当发送一条消息,消息序列号就加一。

        通道的相关属性SEQWRAP 表示序号的最大值,缺省为999,999,999。序列号越界后自动归零,从头开始。

        消息序列号是保证MQ消息传输不丢失、不复传的一个重要机制,通道利用消息序号来标识传送和确认的消息。

 

二.怎么查看通道当前的消息序号?

        无论是在发送端还是接收端,在MQSC下输入如下命令,其中CURSEQNO即为当前消息序号:

$ runmqsc QM
dis chs(C) all
AMQ8417: Display Channel Status details.
   CHANNEL(C)                              XMITQ( )
   CONNAME(127.0.0.1)                      CURRENT
   CHLTYPE(RCVR)                           INDOUBT(NO)
   LSTSEQNO(0)                             LSTLUWID(0000000000000000)
   CURMSGS(0)                              CURSEQNO(3)
   CURLUWID(45BF8B5021200000)              STATUS(RUNNING)
   LSTMSGTI(21.36.03)                      LSTMSGDA(2012-10-27)
   MSGS(3)                                 BYTSSENT(328)
   BYTSRCVD(1783)                          BATCHES(7)
   BATCHSZ(50)                             HBINT(300)
   NPMSPEED(FAST)                          CHSTATI(21.14.41)
   CHSTADA(2012-10-27)                     BUFSSENT(8)
   BUFSRCVD(11)                            LONGRTS(999999999)
   SHORTRTS(10)                            JOBNAME(00000AD500000023)
   MCASTAT(RUNNING)                        STOPREQ(NO)

 

三.正常情况下的通道两端消息序号是怎样的?

        正常情况下,通道两端的消息序列号或者相等或者相差为一。

 

四.什么原因会导致消息序号不一致?

        1.通信故障:双方对前面的某一条(或一批)  消息是否发送成功理解不一致。在解决了不确定(In-doubt)  的消息后,可以用 MQSC 命令通过重置消息序号将双方调整到一致。

        2./var/mqm 使用旧的备份恢复

        3.某一方MQ系统重新安装

        4.队列管理器重建

        5.某一方通道重建

        6.某一方通道被重置

 

五.消息序号不一致会导致什么问题发生?

        通道序号不一致会导致通道无法正常启动(即状态不是running),通道状态为retrying。

        MQ日志会有错误记录,比如/var/mqm/qmgrs/队列管理器名称/errors/AMQERR01.LOG的内容:

--------------------------------------------------------- 
AMQ9526: 通道 'SDR.TEST' 的消息序号出错 或者 Message sequence number error for channel 'SDR.TEST'
说明:
本地和远程队列管理器对下一个消息序号不一致。当希望消息序号 1 时,发送了序号为 101 的消息。
操作:
确定该不一致的原因。有可能同步信息已损坏, 或已被逆序恢复成先前的版本。如果问题不能解决, 可用 RESET CHANNEL 
命令在通道的发送端人工复位此序号。
---------------------------------------------------------

 

六.消息序号不一致问题发生后怎么处理?

方法一:在通道发送端用 MQSC 命令,重置消息序号为1,稍后通道两端消息序号会被同步为1。

        示例:在发送端将消息序号重置为1(默认为1,不是0)   RESET CHANNEL (C)   等于 RESET CHANNEL (C)  SEQNUM(1)

        注意:在连接通道的主动方重置消息序号会将双方一起调整,在被动方重置则只设置一端。因为一旦连接断开后,通道重连时双方 MCA 会将消息序号同步。

        建议:在发送端和接收端同时重置消息序号,这样能快速解决序号不一致的问题。

方法二:在通道接收方用MQSC命令将消息序号重置为与发送端相同(“5、消息序号不一致会导致什么问题发生?”  中的日志记录了发送方通道的序号)

        示例:将接收通道消息序号重置为与发送通道的101: reset channel(C) seqnum(101)

 

七.MQ启动后是否需要重置消息序号?

        MQ的消息序号是通道的一个永久属性,正常情况下,无论是重新启动队列管理器还是重新启动计算机,通道序列号都不会因此而变化,因而不需要进行重置操作。

 

八.常见问题

问题:MQ 重置通道序列号不生效

        请检查您重置的通道是发送通道还是接收通道,如果重置接收通道肯定只能重置接收通道的序号,并不能改变发送通道的序号,一样会消息序号出错,当然,也可以查找到发送通道的消息序号,然后将接收通道的消息序号重置成与发送通道相同的值。

        具体请参考 -  6、消息序号不一致问题发生后怎么处理?

 

文章来源:http://www.wo81.com/tec/mid/mq/2014-04-14/109.html

分享到:
评论

相关推荐

    C# 实现消息的收发IBM WebSphere MQ 消息队列

    一个C#实现IBM WebSphere MQ 消息收发的实例,包含 发送接收等. 使用的时候只需要修改 appconfig 文件的内容即可. 如有问题.请留言

    Websphere MQ入门教程

    2.2.1 WebSphere MQ和消息排队 31 2.2.2 队列管理器的进程 32 2.3客户机和服务器 33 客户机-服务器环境中的 WebSphere MQ 应用程序 33 2.4触发机制 33 2.4.1触发的概念 33 2.4.2触发类型 34 2.4.3触发的工作原理 35...

    IBM WebSphere MQ 安装包

    IBM WebSphere MQ是IBM业界领先面向消息的中间件产品,也是MQ系列产品的基础和核心,它使不同的应用程序能够以企业级的性能,在广泛的平台上安全而可靠地通讯。

    IBM WebSphere MQ消息持久化

    描述MQ消息持久化,在队列管理器发生异常时,传送到队列中的信息怎样通过日志将信息恢复到队列中。

    WebSphere MQ自学笔记

    本人自学IBM的WebSphereMQ自学笔记,内有MQ安装文档,建MQ的例子等。 1、 MQ6.0安装 2 1.1 启动MQ v6.0 安装程序 2 1.2 软件需求检查 2 1.3 WebSphere Eclipse Platform V3.0.1软件安装 2 1.4 网络配置检查 3 1.5 ...

    WebSphereMQ_V7.5.0.2_for_Windows(4-1)

    通过为重要的消息和事务提供可靠的、一次且仅一次的传递,Websphere MQ 可以处理复杂的通信协议,并动态地将消息传递工作负载分配给可用的资源。 IBM 消息中间件MQ以其独特的安全机制、简便快速的编程风格、卓越不凡...

    Websphere MQ入门教程7

    全书共分为3部分共14章,第一部分 WebSphere MQ原理和体系结构,分为两章;第二部分 WebSphere MQ系统管理,分为六章,分别介绍安装、配置、管理、控制命令和问题确定;第三部分 WebSphere MQ应用开发,由五章组成,...

    非常全面的WebsphereMQ的PDF学习资料

    Websphere MQ Programming Guide,Websphere MQ Using C++,WebSphere MQ Using Java,WEBSPHERE MQ6.0 JAVA编程,WebSphere MQ基础教程,IBM WEBSPHERE MQ教程,精通WebSphere MQ,WebSphere MQ开发快速入门,IBM ...

    WebSphereMQ_V7.5.0.2_for_Windows.part2.rar

    通过为重要的消息和事务提供可靠的、一次且仅一次的传递,Websphere MQ 可以处理复杂的通信协议,并动态地将消息传递工作负载分配给可用的资源。 IBM 消息中间件MQ以其独特的安全机制、简便快速的编程风格、卓越不凡...

    IBM Websphere MQ 教程之备份与恢复

    IBM Websphere MQ 教程之备份与恢复

    WebSphere MQ 开发培训

    WebSphere MQ 开发培训 IBM软件部 软件部 WebSphere MQ 议程 WebSphere MQ 概览 WebSphere MQ 安装配置 WebSphere MQ 应用开发 WebSphere MQ 参考

    IBM Websphere mq安装

    IBM Websphere mq安装IBM Websphere mq安装

    IBM WebSphere MQ 简介和概述

    WebSphere MQ 所能解决的业务问题的种类,并了解 WebSphere MQ 如何能够帮助您满足业务要求。

    WebSphere MQ工作原理

    消息中间件及WebSphere MQ入门,介绍WebSphere MQ工作原理,消息队列技术,MQ的基本概念,MQ的通讯模式

    WebSphere MQ

    WebSphere MQ WebSphere MQWebSphere MQ WebSphere MQ

    IBM Websphere MQ入门教程.doc

    第一部分 Websphere MQ原理和体系结构 第一章Websphere MQ原理 目标 1, 了解什么是中间件,以及中间件的特点。 2, 介绍WebSphere MQ的原理。 3, 介绍WebSphere MQ的特性和优点。 1.1中间件 中间件处于应用软件和...

    IBM WebSphere MQ 8.0windows安装包 part2

    IBM WebSphere MQ 8.0windows安装包 part2

    websphere mq常用命令

    websphere mq常用命令 websphere mq常用命令

Global site tag (gtag.js) - Google Analytics