Message/Database Coordination 1. What to do: Start a transaction, receive a message, update the database, and then commit. Or, update the database and send a message to report the update to others, and then commit. (This behavior is often implemented by a Channel Adapter [127].) 2. What this does: The message will not be removed unless the database is updated (or the database change will not stick if the message cannot be sent). 3. Transaction type: Since the messaging system and the database each has its own transaction manager, the transaction to coordinate them will be a distributed one.

