Message Queuing Messages

Message Queuing Messages


Messages are units of information that are sent to and retrieved from destination queues distributed on various computers. Message Queuing uses destination queues to store messages so that the application sending the messages and the application retrieving the message do not have to be running at the same time.

Logically speaking, a message can be considered an object that has a set of properties and contents. The properties specify how Message Queuing delivers the message, and the contents are processed by the receiving application. Physically speaking, a message can be considered a packet of data conforming to a specific protocol that contains information in well defined fields.

The information within the message is stored in different message properties. For example, even the contents of the message (as described above) are stored in the body property of the message. Other message properties include the message identifier (set by Message Queuing), the message label (provided by the sending application, and many more.

Messages can have no more than 4 MB of data. This restriction is due to the memory mapped files used by Message Queuing to store the message data. These memory-mapped files are stored in the MSMQ\Storage folder on the computer where the queue resides.

Message Queuing provides a message identifier for every message that is sent, including both messages sent by the sending application and system-generated messages sent by Message Queuing. For the most part, each message identifier is unique and can be used to identify the message. However, when a message is sent to multiple destinations using distribution lists or multiple-element format names (distribution lists and multiple-element format names are introduced in MSMQ 3.0), each copy of the message has the same message identifier. In this case, the application reading the message must look at both the message identifier and the destination of the message to identify the message.

For information on


Sending messages express or making them recoverable

Express and Recoverable Messaging

Sending a single message to multiple queues

Multiple-Destination Messaging

Sending and retrieving messages within a transaction or without transactions

Transactional and Nontransactional Messaging

Sending messages directly to their destination queue

Direct Messaging

Sending HTTP formatted messages over the Internet

Internet Messaging

Messages that can be sent over HTTP

HTTP Messages

Sending and retrieving information in the message body

Message Body Types

Acknowledgment and response messages

Message Confirmation

Options when sending messages

Sending Messages

Retrieving and peeking at messages in a queue and requesting that copies be placed in the queue journal

Reading Messages

Setting the expiration time of a message

Message Timers

Tracking how messages reach the destination queue

Tracing Messages

Community Additions

© 2016 Microsoft