Patent ID: 7353495
Filing Date: 2008-04-01
Classification: G06F

Abstract:
1. A method for protection against interleaving transactions, comprising: communicating with a resource manager from an application using an Application Programming Interface (API), wherein multiple threads of the application utilize a shared logical connection to the resource manager; controlling transaction demarcation using the a Transaction API; communicating with the resource manager from a first thread of a transaction manager during two phase commit processing using an XAResource interface; enlisting a resource, wherein the first thread of the transaction manager associates a unique transaction identifier with work that is performed on the resource by invoking XAResource.start() on the resource and subsequent application updates to the resource are associated with a global transaction, wherein the resource is wrapped in an object that the transaction manager uses to synchronize concurrent enlistment requests, and wherein the transaction manager maintains a collection of wrapped XAResource objects which is consulted on each resource enlistment; delisting a resource, wherein the first thread of the transaction manager invokes XAResource.end() on the resource and future application updates on the resource over the shared logical connection are disassociated from the global transaction; and blocking a second thread of the transaction manager from calling XAResource.start() on the resource until the first thread of the transaction manager has called XAResource.end() on the resource.