...
Excerpt |
---|
An AEPEngine handles processing of each inbound message it receives in an atomic fashion - the acknowledgment of message receipt, application changes to state and outbound messages constitute an atomic unit of work. Each such atomic unique of work is considered an AEP transaction. Transactions are, for the most part, handled , transparently from an application's standpoint. Application developers simply write message handlers with the assurance that the processing done therein will be atomic. |
...
By default, an AEPEngine handles processing of each inbound message it receives as a single transaction. It is possible to configure an AepEngine to attempt to batch up the processing of several inbound messages into a single transaction via a feature called adaptive batching. This feature can improve throughput at the cost of increased latency of outbound messages (; the outbound messages for the first message processed in a batch won't be sent until the last message in the batch has been stabilized. The batching behavior is adaptive in nature because the engine commits a batch automatically when either a configured adaptive batch ceiling is reached or the engine detects there are no more messages immediately available to process.
...
The AepEngine allows work done in a message handler to be rolled back to a given savepoint which will undo state changes and outbound sends initiated by the application. In the course of processing an application can create savepoints, and then later rollback roll back to them and continue processing. The following example illustrates these concepts:
...