Managing transactions in a messaging system
First Claim
1. A data processing method for a data processing system comprising a messaging service and a transaction service, the method comprising:
- receiving a request to send an asynchronous message to a queue, wherein the request is received by the messaging service under the scope of a transaction, wherein the request is received from a sender and the asynchronous message comprises message data;
registering a definition for the queue with the messaging service, the definition providing details of an operation provided by a recipient;
processing the request to send the asynchronous message by delivering the asynchronous message to the recipient, wherein the request is processed by the messaging service prior to completion of the transaction, and the asynchronous message is delivered to the recipient by calling the operation and including details of the asynchronous message and wherein the recipient is registered with the messaging service to process messages from the queue;
receiving one or more requests, at the transaction service, to register involvement of one or more participants in the transaction, wherein each of the one or more participants represents transactional work done as a result of the recipient processing the asynchronous message; and
completing the transaction by the transaction service wherein the completing the transaction comprises instructing each of the one or more participants to complete, wherein transactional work done, as a result of the recipient processing the asynchronous message, is involved in the transaction under the scope of which the asynchronous message was sent to the recipient from the messaging service.
5 Assignments
0 Petitions
Accused Products
Abstract
A messaging system and method are provided to enable transactional work, done as a result of a recipient processing an asynchronous message, to be involved in the transaction under which message was sent. Involvement may be directly in the senders transaction or indirectly through a separate transaction which can be a subordinate to, a child of, or merged with the transaction under which message was sent. The message is delivered by calling an operation, a definition of which has been registered for the queue. If the message is added to a queue for subsequent delivery to a recipient, details of the transaction under which message was sent are added to the message. As a result the recipient can take appropriate action to ensure that any transactional work, it causes to happen, will be done directly or indirectly under the scope of the transactions under which message was sent.
-
Citations
36 Claims
-
1. A data processing method for a data processing system comprising a messaging service and a transaction service, the method comprising:
-
receiving a request to send an asynchronous message to a queue, wherein the request is received by the messaging service under the scope of a transaction, wherein the request is received from a sender and the asynchronous message comprises message data; registering a definition for the queue with the messaging service, the definition providing details of an operation provided by a recipient; processing the request to send the asynchronous message by delivering the asynchronous message to the recipient, wherein the request is processed by the messaging service prior to completion of the transaction, and the asynchronous message is delivered to the recipient by calling the operation and including details of the asynchronous message and wherein the recipient is registered with the messaging service to process messages from the queue; receiving one or more requests, at the transaction service, to register involvement of one or more participants in the transaction, wherein each of the one or more participants represents transactional work done as a result of the recipient processing the asynchronous message; and completing the transaction by the transaction service wherein the completing the transaction comprises instructing each of the one or more participants to complete, wherein transactional work done, as a result of the recipient processing the asynchronous message, is involved in the transaction under the scope of which the asynchronous message was sent to the recipient from the messaging service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data processing system comprising a messaging service and a transaction service, the system comprising:
-
means for the messaging service to receive a request to send an asynchronous message to a queue, wherein the request is received under the scope of a transaction, wherein the request is received from a sender and the asynchronous message comprises message data; means for registering a definition for the queue with the messaging service, the definition providing details of an operation provided by a recipient; means for the messaging service to process the request to send the asynchronous message by delivering the asynchronous message to the recipient, prior to completion of the transaction, and the asynchronous message is delivered to the recipient by calling the operation and including details of the asynchronous message and wherein the recipient is registered with the messaging service to process messages from the queue; means for the transaction service to receive a request to register involvement of a participant in the transaction, wherein the participant represents transactional work done as a result of the recipient processing the asynchronous message; and means for the transaction service to complete the transaction comprising instructing the participant in the transaction to complete, wherein transactional work done, as a result of the recipient processing the asynchronous message, is involved in the transaction under the scope of which the asynchronous message was sent to the recipient from the messaging service. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer program product comprising instructions encoded in a computer readable medium, which, when executed on a data processing host, cause the host to perform operations that comprise:
-
receiving a request to send an asynchronous message to a queue, wherein the request is received by the messaging service under the scope of a transaction, wherein the request is received from a sender and the asynchronous message comprises message data; registering a definition for the queue with the messaging service, the definition providing details of an operation provided by a recipient; processing the request to send the asynchronous message by delivering the asynchronous message to the recipient, wherein the request is processed by the messaging service prior to completion of the transaction, and the asynchronous message is delivered to the recipient by calling the operation and including details of the asynchronous message and wherein the recipient is registered with the messaging service to process messages from the queue; receiving one or more requests, at the transaction service, to register involvement of one or more participants in the transaction, wherein each of the one or more participants represents transactional work done as a result of the recipient processing the asynchronous message; and completing the transaction by the transaction service wherein the completing the transaction comprises instructing each of the one or more participants to complete, wherein transactional work done, as a result of the recipient processing the asynchronous message, is involved in the transaction under the scope of which the asynchronous message was sent to the recipient from the messaging service. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification