Class MQMD

java.lang.Object
com.ibm.mq.jmqi.JmqiObject
com.ibm.mq.headers.internal.Header
com.ibm.mq.headers.MQMD1
com.ibm.mq.headers.MQMD
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 Details

    • SIZE1

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

      public static final int SIZE2
      Size of a version 2 MQMD structure in bytes
      See Also:
  • Constructor Details

    • MQMD

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

      public MQMD(DataInput message) throws MQDataException, 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
      IOException - if there is a problem reading the message content
    • MQMD

      public MQMD(DataInput message, int encoding, int characterSet) throws MQDataException, 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
      IOException - if there is a problem reading the message content
    • MQMD

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

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

    • 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
    • copyFrom

      public void copyFrom(MQMD md)
      Description copied from class: MQMD1
      duplicate the content of an MQMD header into this header
      Overrides:
      copyFrom in class MQMD1
      Parameters:
      md - - the header to copy
      See Also:
    • copyTo

      public void copyTo(MQMD md) throws MQDataException
      Description copied from class: MQMD1
      duplicate the content of this header into an MQMD header
      Overrides:
      copyTo in class MQMD1
      Parameters:
      md - - the header to copy into
      Throws:
      MQDataException
      See Also:
    • 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