By default, all messaging operations—msgsend, msgrecv, msgpublish, msgconsume, msgsubscribe, and msgunsubscribe—roll back if the database transaction rolls back. However, a failed messaging operation using msgsend or msgrecv does not affect the parent database transaction.
If a process included in a transaction executes msgsend or msgpublish, the resulting message is invisible on the message bus until the process commits the transaction. This is unlike executing a SQL update or insert.
A process that executes SQL update and insert commands in a transaction sees the effect of these commands immediately, before they are committed.
A process executing msgsend or msgpublish in a transaction to send a message cannot read that message using msgrecv or msgconsume until it commits the transaction.
Copyright © 2005. Sybase Inc. All rights reserved. |
![]() |