摘要:
A method of delivering messages between application programs is provided which ensures that no messages are lost and none are delivered more than once. The method uses asynchronous message queuing. One or more queue manager programs (100) is located at each computer of a network for controlling the transmission of messages to and from that computer. Messages to be transmitted to a different queue manager are put onto special transmission queues (120). Transmission to an adjacent queue manager comprises a sending process (130) on the local queue manager (100) getting messages from a transmission queue and sending them as a batch of messages within a syncpoint-manager-controlled unit of work. A receiving process (150) on the receiving queue manager receives the messages and puts them within a second syncpoint-manager-controlled unit of work to queues (180) that are under the control of the receiving queue manager. Commitment of the batch is coordinated by the sender transmitting a request for commitment and for confirmation of commitment with the last message of the batch, commit at the sender then being triggered by the confirmation that is sent by the receiver in response to the request. The invention avoids the additional message flow that is a feature of two-phase commit procedures, avoiding the need for resource managers to synchronise with each other. It further reduces the commit flows by permitting batching of a number of messages.
摘要:
Methods, systems, and products are provided for monitoring messages in a distributed data processing system. Embodiments typically include putting a message containing a monitoring token on a queue on a server; receiving a call to get the message from the queue on the server; determining, with an API exit running on the server, whether the call to get the message is made by a process running on a remote client or by a process running on the server; and if the call to get the message is made by a process running on the server, removing the monitoring token from the message with the API exit. Many embodiments also include removing the monitoring token from the message with a channel exit running on the remote client, if the call to get the message is made by a process on the remote client.