com.ibm.mq.headers
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 }
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.ibm.mq.headers.MQHeader
MQHeader.Field
-
-
Field Summary
Fields Modifier and Type Field and Description static int
SIZE1
Size of a Version 1 MQMD structure in bytesstatic int
SIZE2
Size of a version 2 MQMD structure in bytes
-
Constructor Summary
Constructors Constructor and Description MQMD()
Constructs an MQMD instance with default field values.MQMD(java.io.DataInput message)
Constructs an MQMD instance populated from an byte stream representing an MQ Message as stored in the queue.MQMD(java.io.DataInput message, int encoding, int characterSet)
Constructs an MQMD instance populated from a DataInput source.MQMD(int version)
Constructs an MQMD instance of the given version with default field values.MQMD(MQMD1 md)
Constucts an MQMD populated from the content of an MQMD or MQMD1 instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description MQMD
coalesce(MQMDE mde, boolean relink)
Sets the MQMD extension fields in this MQMD from an MQMDE.void
copyFrom(MQMD md)
duplicate the content of an MQMD header into this headervoid
copyTo(MQMD md)
duplicate the content of this header into an MQMD headerbyte[]
getGroupId()
gets the Group identifierint
getMsgFlags()
gets the Message flagsint
getMsgSeqNumber()
gets the Sequence number of logical message within groupint
getOffset()
gets the Offset of data in physical message from start of logical messageint
getOriginalLength()
gets the Length of original messageboolean
hasExtensionContent()
indicates whether the header has extension contentvoid
setGroupId(byte[] value)
sets the Group identifiervoid
setMsgFlags(int value)
sets the Message flagsvoid
setMsgSeqNumber(int value)
sets the Sequence number of logical message within groupvoid
setOffset(int value)
sets the Offset of data in physical message from start of logical messagevoid
setOriginalLength(int value)
sets the Length of original message-
Methods inherited from class com.ibm.mq.headers.MQMD1
format, getAccountingToken, getApplIdentityData, getApplOriginData, getBackoutCount, getCodedCharSetId, getCorrelId, getEncoding, getExpiry, getFeedback, getFormat, getMsgId, getMsgType, getPersistence, getPriority, getPutApplName, getPutApplType, getPutDate, getPutDateTime, getPutTime, getReplyToQ, getReplyToQMgr, getReport, getStrucId, getUserIdentifier, getVersion, nextCharacterSet, nextCharacterSet, nextEncoding, nextEncoding, nextFormat, nextFormat, setAccountingToken, setApplIdentityData, setApplOriginData, setBackoutCount, setCodedCharSetId, setCorrelId, setEncoding, setExpiry, setFeedback, setFormat, setMsgId, setMsgType, setPersistence, setPriority, setPutApplName, setPutApplType, setPutDate, setPutDateTime, setPutTime, setReplyToQ, setReplyToQMgr, setReport, setUserIdentifier
-
Methods inherited from class com.ibm.mq.headers.internal.Header
characterSet, encoding, fields, getBytesValue, getCharValue, getCharValue, getIntValue, getJmqiEnv, getStringValue, getValue, headerType, read, read, read, setBytesValue, setCharValue, setCharValue, setIntValue, setStringValue, setValue, size, store, store, toString, type, validate, write, write
-
-
-
-
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 stucturejava.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 readencoding
- the initial numeric encoding of the data in the messagecharacterSet
- the initial CCSID of the data in the message- Throws:
MQDataException
- if the message content does not yield a valid MQMD stucturejava.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
-
copyFrom
public void copyFrom(MQMD md)
Description copied from class:MQMD1
duplicate the content of an MQMD header into this header- Overrides:
copyFrom
in classMQMD1
- Parameters:
md
- - the header to copy- See Also:
MQMD1.copyFrom(com.ibm.mq.MQMD)
-
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 classMQMD1
- Parameters:
md
- - the header to copy into- Throws:
MQDataException
- See Also:
MQMD1.copyTo(com.ibm.mq.MQMD)
-
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 classMQMD1
- Returns:
- whether the MQMD has Extension Content
-
-