Message processing
AssigneeInternational Business Machines Corporation
InventorsJose E. Garza, Stephen J. Hobson
Life of this patent
Estimating the term…
Abstract
A method, system and computer program product for operating a transaction manager. An invocation to begin a transaction as well as a message sequence number for the transaction are received. It is then determined if the message sequence number is greater than the last processed message sequence number. If the message sequence number is greater than the last processed message sequence number, then the transaction is started. Otherwise, if the message sequence number is not greater than the last processed message sequence number, then the transaction is failed.
Claims12
A method of operating a transaction manager, the method comprising:
- receiving multiple copies of a message using independent paths through a messaging network, wherein each of said independent paths comprises a queue;
- receiving an invocation to begin a transaction;
- receiving a message sequence number for the transaction;
- checking, by a processor, that the message sequence number is greater than a last processed message sequence number for each message received;
- starting the transaction in response to the message sequence number being greater than the last processed message sequence number;
- failing the transaction in response to the message sequence number being less than the last processed message sequence number;
- invoking a receiver agent by a consuming application to delete a message associated with the message sequence number in response to failing the transaction;
- receiving an original identifier for the transaction;
- and
- detecting that there is no message sequence number stored for the message associated with the original identifier, and, in response, storing the message sequence number for the message associated with the original identifier.
A computer program product embodied in a computer readable storage medium, wherein the medium does not include a propagating signal, for operating a transaction manager, the computer program product comprising the programming instructions for:
- receiving multiple copies of a message using independent paths through a messaging network, wherein each of said independent paths comprises a queue;
- receiving an invocation to begin a transaction;
- receiving a message sequence number for the transaction;
- checking that the message sequence number is greater than a last processed message sequence number for each message received;
- starting the transaction in response to the message sequence number being greater than the last processed message sequence number;
- failing the transaction in response to the message sequence number being less than the last processed message sequence number;
- invoking a receiver agent by a consuming application to delete a message associated with the message sequence number in response to failing the transaction;
- receiving an original identifier for the transaction;
- and
- detecting that there is no message sequence number stored for the message associated with the original identifier, and, in response, storing the message sequence number for the message associated with the original identifier.
A system, comprising:
- a memory unit for storing a computer program for operating a transaction manager;
- and
- a processor coupled to the memory unit, wherein the processor, responsive to the computer program, comprises:
- circuitry for receiving multiple copies of a message using independent paths through a messaging network, wherein each of said independent paths comprises a queue;
- circuitry for receiving an invocation to begin a transaction;
- circuitry for receiving a message sequence number for the transaction;
- circuitry for checking that the message sequence number is greater than a last processed message sequence number for each message received;
- circuitry for starting the transaction in response to the message sequence number being greater than the last processed message sequence number;
- circuitry for failing the transaction in response to the message sequence number being less than the last processed message sequence number;
- circuitry for invoking a receiver agent by a consuming application to delete a message associated with the message sequence number in response to failing the transaction;
- circuitry for receiving an original identifier for the transaction;
- and
- circuitry for detecting that there is no message sequence number stored for the message associated with the original identifier, and, in response, storing the message sequence number for the message associated with the original identifier.
Dependencies are inferred from the claim text.