Messages are sent from a client message store to a server message store, and then on to another client message store. QAnywhere does this via queues: a message is put on a queue in the client message store; when it is received by the server message store, it is put on a queue for delivery to one or more client message stores; and when it is received by a client message store, it is put on a queue for pickup.
Once a message is sent, it gets delivered unless one of the following occurs:
The message expires (only if an expiration is specified).
The message is canceled via Sybase Central or via the cancelMessage API call.
The device from which the message is sent is lost irretrievably before it can synchronize with the server message store (or for some other reason, synchronization is impossible).
A message does not get delivered more than once. If an application successfully acknowledges or commits the receipt of a message, then the same message is not delivered again. There is a possible exception with JMS servers: in the event of the MobiLink server or JMS server crashing, there is a possibility that a message could get delivered twice.
Discuss this page in DocCommentXchange.
|Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0|