Share via


Message Queuing Messages

 

Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista

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.

Maximum Message Size

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 Identifier

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.

More Information

For information on See
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