Tuesday, May 15, 2018

MSMQ as an MTS Resource Manager

Application developers can include MSMQ operations within transactional units of work that access other recoverable resources, such as databases.
MSMQ operations commit or abort along with other resources in the transaction to preserve data integrity. For example, if an application updates a database and sends a message to another application within a transaction, any abort condition will cause the database updates to roll back. MSMQ will also roll back by canceling the send operation. MSMQ never completes sending operations until transactions commit. It prevents receivers from getting messages from transactions that abort.
MSMQ takes similar actions when receive operations occur within a transaction. If the transaction aborts, MSMQ rolls back the receive operation by putting the received message back in its queue.
This message becomes available for receipt by subsequent transactions. The MSMQ transactional features are important because many types 9f problems will occur if abort logic does not include queue operations. For example, if a receive operation does not roll back when associated database operations rolled back, the message effectively becomes lost because no database processing occurs.
MSMQ tightly integrated with MTS. All calls to MSMQ from transaction-enabled ActiveX components running under MTS automatically join whatever transaction is active.

No comments:

Post a Comment

Featured on Text Engineer

How to Select A Web Hosting Provider?

Most of us face difficulty choosing when we have too many options. Well, talking about IDEAL, do you believe there is IDEAL web host...