com.ibm.mq.headers

Class MQMD

  • java.lang.Object
  • All Implemented Interfaces:
    MQChainable, MQData, MQHeader


    public class MQMD
    extends MQMD1
    MQMD (message descriptor) header class. This class represents both version 1 and version 2 MQMD structures. The default version is version 2.

    In addition to being able to read or write its content from a message body or byte stream, this class can get or set field values from the MQMD portion of an MQMessage object using the copyFrom or copyTo methods.

       struct tag MQMD {
                    MQCHAR4   StrucId;           // Structure identifier
                    MQLONG    Version;           // Structure version number
                    MQLONG    Report;            // Options for report messages
                    MQLONG    MsgType;           // Message type
                    MQLONG    Expiry;            // Message lifetime
                    MQLONG    Feedback;          // Feedback or reason code
                    MQLONG    Encoding;          // Numeric encoding of message data
                    MQLONG    CodedCharSetId;    // Character set identifier of message data
                    MQCHAR8   Format;            // Format name of message data
                    MQLONG    Priority;          // Message priority
                    MQLONG    Persistence;       // Message persistence
                    MQBYTE24  MsgId;             // Message identifier
                    MQBYTE24  CorrelId;          // Correlation identifier
                    MQLONG    BackoutCount;      // Backout counter
                    MQCHAR48  ReplyToQ;          // Name of reply queue
                    MQCHAR48  ReplyToQMgr;       // Name of reply queue manager
                    MQCHAR12  UserIdentifier;    // User identifier
                    MQBYTE32  AccountingToken;   // Accounting token
                    MQCHAR32  ApplIdentityData;  // Application data relating to identity
                    MQLONG    PutApplType;       // Type of application that put the message
                    MQCHAR28  PutApplName;       // Name of application that put the message
                    MQCHAR8   PutDate;           // Date when message was put
                    MQCHAR8   PutTime;           // Time when message was put
                    MQCHAR4   ApplOriginData;    // Application data relating to origin
     
                    MQBYTE24  GroupId;           // Group identifier
                    MQLONG    MsgSeqNumber;      // Sequence number of logical message within group
                    MQLONG    Offset;            // Offset of data in physical message from start of logical message
                    MQLONG    MsgFlags;          // Message flags
                    MQLONG    OriginalLength;    // Length of original message
       }
     
    • Field Detail

      • SIZE1

        public static final int SIZE1
        Size of a Version 1 MQMD structure in bytes
        See Also:
        Constant Field Values
      • SIZE2

        public static final int SIZE2
        Size of a version 2 MQMD structure in bytes
        See Also:
        Constant Field Values
    • Constructor Detail

      • MQMD

        public MQMD()
        Constructs an MQMD instance with default field values.
      • MQMD

        public MQMD(java.io.DataInput message)
             throws MQDataException,
                    java.io.IOException
        Constructs an MQMD instance populated from an byte stream representing an MQ Message as stored in the queue.

        This is not suitable for application to an MQMessage object - create an empty MQMD1 object and use the copyfrom(com.ibm.mq.MQMD) method in this instance

        Parameters:
        message - the message to read
        Throws:
        MQDataException - if the message content does not yield a valid MQMD stucture
        java.io.IOException - if there is a problem reading the message content
      • MQMD

        public MQMD(java.io.DataInput message,
            int encoding,
            int characterSet)
             throws MQDataException,
                    java.io.IOException
        Constructs an MQMD instance populated from a DataInput source.
        Parameters:
        message - the MQMessage or other DataInput source to read
        encoding - the initial numeric encoding of the data in the message
        characterSet - the initial CCSID of the data in the message
        Throws:
        MQDataException - if the message content does not yield a valid MQMD stucture
        java.io.IOException - if there is a problem reading the message content
      • MQMD

        public MQMD(MQMD1 md)
             throws java.io.IOException
        Constucts an MQMD populated from the content of an MQMD or MQMD1 instance.
        Parameters:
        md -
        Throws:
        java.io.IOException
      • MQMD

        public MQMD(int version)
        Constructs an MQMD instance of the given version with default field values.
        Parameters:
        version -
    • Method Detail

      • getGroupId

        public byte[] getGroupId()
        gets the Group identifier
        Returns:
        the Group identifier
      • setGroupId

        public void setGroupId(byte[] value)
        sets the Group identifier
        Parameters:
        value - the Group identifier
      • getMsgSeqNumber

        public int getMsgSeqNumber()
        gets the Sequence number of logical message within group
        Returns:
        the Sequence number of logical message within group
      • setMsgSeqNumber

        public void setMsgSeqNumber(int value)
        sets the Sequence number of logical message within group
        Parameters:
        value - the Sequence number of logical message within group
      • getOffset

        public int getOffset()
        gets the Offset of data in physical message from start of logical message
        Returns:
        the Offset of data in physical message from start of logical message
      • setOffset

        public void setOffset(int value)
        sets the Offset of data in physical message from start of logical message
        Parameters:
        value - the Offset of data in physical message from start of logical message
      • getMsgFlags

        public int getMsgFlags()
        gets the Message flags
        Returns:
        the Message flags
      • setMsgFlags

        public void setMsgFlags(int value)
        sets the Message flags
        Parameters:
        value - the Message flags
      • getOriginalLength

        public int getOriginalLength()
        gets the Length of original message
        Returns:
        the Length of original message
      • setOriginalLength

        public void setOriginalLength(int value)
        sets the Length of original message
        Parameters:
        value - the Length of original message
      • coalesce

        public MQMD coalesce(MQMDE mde,
                    boolean relink)
        Sets the MQMD extension fields in this MQMD from an MQMDE. If the relink flag is set, the Format, Encoding and CodedCharSetId fields of the MQMD are also replaced with the values from the MQMDE.
        Parameters:
        mde -
        relink -
        Returns:
        the MQMD itself
      • hasExtensionContent

        public boolean hasExtensionContent()
        Description copied from class: MQMD1
        indicates whether the header has extension content
        Overrides:
        hasExtensionContent in class MQMD1
        Returns:
        whether the MQMD has Extension Content
(c) Copyright IBM Corp. 2008, 2015. All Rights Reserved.