Abstract:
A system and method can support application interoperation in a transactional middleware environment. A first transaction server operates to initiate a global transaction, wherein the first transaction server that is associated with a first format identifier (ID), and wherein the global transaction includes a plurality of branches and each said branch is associated with an individual branch qualifier. Furthermore, the first transaction server can direct at least one branch of the global transaction from the first transaction server to a second transactional server, wherein each said transactional server is associated with a second format identifier (ID), and configure a plurality of branches in the global transaction to share a common format identifier (ID).
Abstract:
In accordance with an embodiment, described herein is a system and method for providing distributed caching in a transactional processing environment. The caching system can include a plurality of layers that provide a caching feature for a plurality of data types, and can be configured for use with a plurality of caching providers. A common data structure can be provided to store serialized bytes of each data type, and architecture information of a source platform executing a cache-setting application, so that a cache-getting application can use the information to convert the serialized bytes to a local format. A proxy server can be provided to act as a client to a distributed in-memory grid, and advertise services to a caching client, where each advertised service can match a cache in the distributed in-memory data grid, such as Coherence. The caching system can be used to cache results from a service.
Abstract:
A system and method can support transaction processing in a transactional environment. A coordinator for a global transaction operates to propagate a common transaction identifier and information for a resource manager instance to one or more participants of the global transaction in the transactional environment. The coordinator allows said one or more participants, which share resource manager instance with the coordinator, to use the common transaction identifier, and can process the global transaction for said one or more participants that share the resource manager instance using one transaction branch.
Abstract:
A system and method can provide high throughput transactions in a transactional system. A system and method can, via a transaction manager, obtain information on a plurality of resource managers. The transaction manager can further manage a plurality of transaction branches, where each of the plurality of transaction branches can be associated with a different one of the plurality of resource managers. The methods and systems can associate a transaction identifier with each of the plurality of transaction branches, which can result in a plurality of transaction identifiers, where each of the plurality of transaction identifiers can include a branch identifier for each of the plurality of transaction branches. The methods and systems can perform one or more transactional operations on the plurality of transaction branches based on the different transaction identifiers.
Abstract:
A lock mechanism can be supported in a transactional middleware system to protect transaction data in a shared memory when there are concurrent transactions. The transactional middleware machine environment comprises a semaphore provided by an operating system running on a plurality of processors. The plurality of processors operates to access data in the shared memory. The transactional middleware machine environment also comprises a test-and-set (TAS) assembly component that is associated with one or more processes. Each said process operates to use the TAS assembly component to perform one or more TAS operations in order to obtain a lock for data in the shared memory. Additionally, a process operates to be blocked on the semaphore and waits for a release of a lock on data in the shared memory, after the TAS component has performed a number of TAS operations and failed to obtain the lock.
Abstract:
In accordance with an embodiment, described herein is a system and method for providing distributed caching in a transactional processing environment. The caching system can include a plurality of layers that provide a caching feature for a plurality of data types, and can be configured for use with a plurality of caching providers. A common data structure can be provided to store serialized bytes of each data type, and architecture information of a source platform executing a cache-setting application, so that a cache-getting application can use the information to convert the serialized bytes to a local format. A proxy server can be provided to act as a client to a distributed in-memory grid, and advertise services to a caching client, where each advertised service can match a cache in the distributed in-memory data grid, such as Coherence. The caching system can be used to cache results from a service.
Abstract:
A system and method can support intra-node communication based on a shared memory queue. The shared memory queue can be associated with a shared memory, to which one or more communication peers are attached. The shared memory queue operates to allocate one or more message buffers in the shared memory that contains a first message from a sender to a receiver, and can send the first message to the receiver by linking the one or more message buffers with another message queue. Optionally, a second message buffer may be created, and the message can be sent to the receiver by copying the message to the second message buffer and linking it with another message queue. Additionally, the shared memory queue operates to receive a second message from another sender by delinking one or more message buffers associated with said second message.
Abstract:
A system and method can support transaction processing in a transactional environment. A transactional system operates to route a request to a transactional server, wherein the transactional server is connected to a resource manager (RM) instance. Furthermore, the transactional system can assign an affinity context to the transactional server, wherein the affinity context indicates the RM instance that the transactional server is associated with, and the transactional system can route one or more subsequent requests that are related to the request to the transactional server based on the affinity context.
Abstract:
A system and method can support processing a transaction with a plurality of transaction branches. A transaction manager operates to send, to a resource manager, a prepare request for each said transaction branch in the plurality of transaction branches with the exception of at least one transaction branch. Furthermore, after receiving an indication from the resource manager that the received preparation requests are handled successfully (i.e. the transaction branch is read-only and has been committed), the transaction manager operates to send a commit request to commit said at least one transaction branch, which is on hold, to the resource manager.
Abstract:
A system and method can support an adaptive self-tuning locking mechanism in a transactional middleware machine environment. The system allows each process in a plurality of processes to perform one or more test-and-set (TAS) operations in order to obtain a lock for data in a shared memory. Then, the system can obtain a spin failed rate for a current tuning period, wherein a spin failure happens when a process fails to obtain the lock after performing a maximum number of rounds of TAS operations that are allowed. Furthermore, the system can adaptively configuring a spin count for a next tuning period based on the obtained spin failure rate, wherein the spin count specifies the maximum number of rounds of TAS operations that are allowed for the next tuning period.