Each tibemsXAResource instance can coordinate a series of transactions, but only one transaction at a time. A program that keeps n transactions open simultaneously must create n instances of this type.The transaction manager assigns each resource instance a unique RMID, which it uses to bind together a thread, a resource and a transaction.
tibems_status tibemsXAResource_Commit(tibemsXAResource xaResource,XID* xid,tibems_bool onePhase );USING BY VALUE xaResource,BY REFERENCE xid,BY VALUE onePhase,
xaResource and xid have usage pointer.
TIBEMS_TRUE requests a one-phase commit.TIBEMS_FALSE requests a two-phase commit.tibems_status tibemsXAResource_End(tibemsXAResource xaResource,XID* xid,USING BY VALUE xaResource,BY REFERENCE xid,
xaResource and xid have usage pointer.
TMSUCCESS—Completely end the transaction.TMSUSPEND—Temporarily disassociate the transaction from this resource.tibems_status tibemsXAResource_Forget(tibemsXAResource xaResource,XID* xid );USING BY VALUE xaResource,BY REFERENCE xid,
xaResource and xid have usage pointer.
tibems_status tibemsXAResource_GetRMID(tibemsXAResource xaResource,tibems_int* rmid );USING BY VALUE xaResource,
xaResource has usage pointer.
The transaction manager assigns a unique RMID to each resource instance, which it uses to bind together a thread, a resource and a transaction.tibems_status tibemsXAResource_GetTransactionTimeout(tibemsXAResource xaResource,tibems_int* seconds );USING BY VALUE xaResource,
xaResource has usage pointer.
The function stores the transaction timeout (in seconds) in this location.If an open, unprepared transaction does not log any activity on the server for this length of time, then the server automatically rolls back the transaction.tibems_status tibemsXAResource_isSameRM(tibemsXAResource xaResource,tibemsXAResource xaResource2,tibems_bool* result );USING BY VALUE xaResource,BY REFERENCE result,
xaResource and xaResource2 have usage pointer.
tibems_status tibemsXAResource_Prepare(tibemsXAResource xaResource,XID* xid );USING BY VALUE xaResource,BY REFERENCE xid,
xaResource and xid have usage pointer.
tibems_status tibemsXAResource_Recover(tibemsXAResource xaResource,XID* xids,tibems_int desiredCount,tibems_int* returnedCount,tibems_int flag );
xaResource and xids have usage pointer.
The function stores the actual number of transaction IDs in this location. TMSTARTRSCAN—Start a new list of XIDs; the EMS server generates a complete list, and sends the first batch.TMNOFLAGS—Continue the list of XIDs; the EMS server sends the next batch.TMENDRSCAN—The EMS server discards its list of prepared transactions, and reclaims storage.When this call returns, if returnedCount desiredCount, then more prepared transactions might exist. To get the next batch of XIDs, call this function again with TMNOFLAGS flag until returnedCount < desiredCount.tibems_status tibemsXAResource_Rollback(tibemsXAResource xaResource,XID* xid );USING BY VALUE xaResource,BY REFERENCE xid,
xaResource and xid have usage pointer.
Messages sent to a queue with prefetch=none and maxRedelivery=number properties are not received number times by an EMS application that receives in a loop and does an XA rollback after the XA prepare phase.tibems_status tibemsXAResource_SetRMID(tibemsXAResource xaResource,tibems_int rmid );USING BY VALUE xaResource,
xaResource has usage pointer.
tibems_status tibemsXAResource_SetTransactionTimeout(tibemsXAResource xaResource,tibems_int seconds );USING BY VALUE xaResource,
xaResource has usage pointer.
If an unprepared transaction does not log any activity on the server for this length of time, then the server automatically rolls back the transaction.tibems_status tibemsXAResource_Start(tibemsXAResource xaResource,XID* xid,
xaResource and xid have usage pointer.
TMNOFLAGS—This is a new transaction, which was not previously associated with the resource.TMRESUME—This transaction was previously associated with the resource.
Copyright © TIBCO Software Inc. All Rights Reserved.