This prevents many different kinds of problems that can occur within receiving applications, such as duplicated orders and overdrawn accounts or inventories. Transaction Support Application developers can include MSMQ operations within transactions that contain other activities, such as database updates. MSMQ supports transactions through MTS, the Microsoft Distributed Transaction Coordinator, and provides a standards-compliant XA interface. Transactions enable MSMQ operations to commit or abort with other resources in a transaction to preserve data integrity. Automatic Message Journaling MSMQ can make journal copies of all messages sent or received by applications.
Journals provide audit trails and simplify recovery from many types of failure.
Sending applications can then treat messages as delivered or take corrective action when failures occur. Message Priority Support MSMQ enables applications to assign priorities to messages and queues. MSMQ routes and delivers messages in priority order. Priorities make it easy for applications to process important requests first when there is a backlog. This improves scalability, because administrative operations such as adding computers or moving queues can be performed centrally and do not require making changes to individual computer configurations.