PROPID_M_JOURNAL (Compact 2013)
3/26/2014
This property specifies the source journaling level for the message.
The source journaling level specifies if a copy of the message should be kept in a machine journal (on the originating machine), sent to a dead-letter queue, or neither.
- Type Indicator
VT_UI1
- PROPVARIANT Field
bVal
Property Values
This property can be set to one or more of the following values.Value
Description
MQMSG_DEADLETTER
For nontransactional messages, the message is sent to the nontransactional dead-letter queue on the computer that could not deliver the message (for example, if a message timer expires).
For transactional messages, the message is sent to the transactional dead-letter queue on the source machine in all negative and in-doubt cases.
For MSMQ 1.0 and 2.0 differences, see the Remarks section.
MQMSG_JOURNAL
When the message is transmitted (from the originating machine to the next hop), it is kept in a machine journal on the originating machine.
MQMSG_JOURNAL_NONE
The default. The message is not kept in the machine journal of the originating machine.
Remarks
PROPID_M_JOURNAL does not create a queue.
Machine journals and dead-letter queues are system queues generated by MSMQ.
When you store messages in a journal or dead-letter queue, clear these queues periodically to remove messages that are no longer needed.
Messages stored in a journal and dead-letter queues count against the quota for the computer where the queues reside (the computer quota is set by the administrator).
Keep in mind the following differences between MSMQ 1.0 and MSMQ 2.0:
- In MSMQ 1.0, this property is ignored for transactional messages; all transactional messages not confirmed by MSMQ are sent to the dead-letter queue.
- In MSMQ 2.0, this property is not ignored. The default of the PROPID_M_JOURNAL property is MQMSG_JOURNAL_NONE (undelivered transactional messages are not sent to the dead-letter queue).
To use the transaction confirmation process provided by MSMQ, specify MQMSG_DEADLETTER.
To use a machine journal or dead-letter queue, specify PROPID_M_JOURNAL in the MQMSGPROPS structure and call MQSendMessage.
To retrieve the journaling level of a message, specify PROPID_M_JOURNAL in the MQMSGPROPS structure. Then call MQReceiveMessage and examine the returned value.
Examples
This example shows how PROPID_M_JOURNAL is specified in the MQMSGPROPS structure.
aMsgPropId[i] = PROPID_M_JOURNAL; // Property ID
aMsgPropVar[i].vt = VT_UI1; // Type indicator
MsgProps.aPropVar[i].bVal = MQMSG_JOURNAL; // Value
i++;
Note
OS versions prior to 2.12 require the MSMQ add-on pack.
Requirements
Header |
mq.h |