Sun GlassFish Message Queue 4.4 Developer's Guide for C Clients

MQCommitSession

The MQCommitSession function commits a transaction associated with the specified session.


MQCommitSession(const MQSessionHandle sessionHandle);

Return Value

MQStatus. See the MQStatusIsErro()r function for more information.

Parameters

sessionHandle

The handle to the transacted session that you want to commit.

A transacted session supports a series of transactions. Transactions organize a session’s input message stream and output message stream into a series of atomic units. A transaction’s input and output units consist of those messages that have been produced and consumed within the session’s current transaction. (Note that the receipt of a message cannot be part of the same transaction that produces the message.) When you call the MQCommitSession function, its atomic unit of input is acknowledged and its associated atomic unit of output is sent.

The completion of a session’s current transaction automatically begins the next transaction. The result is that a transacted session always has a current transaction within which its work is done. Use the MQRollBackSession() function to roll back a transaction.

Common Errors

MQ_NOT_TRANSACTED_SESSION
MQ_CONCURRENT_ACCESS
MQ_SESSION_CLOSED
MQ_BROKER_CONNECTION_CLOSED
MQ_NOT_TRANSACTED_SESSION
MQ_XA_SESSION_IN_PROGRESS