Buffering of data

The Data Agent offers a buffer function for short-term network failures. It is very important to note that buffering takes place exclusively in RAM. Accordingly, an eye should always be kept on the RAM with this buffer function. If a connection to the target has been restored, the Data Agent begins to process the buffer.

Another point to note is the restrictions of a message brokers to which data are sent. There are message brokers that are limited to a certain number of messages per time unit. Care must be taken when conceiving a Data Agent application that this upper limit is not exceeded when processing a buffer.

Configuration in the Data Agent

A Publisher channel offers the possibility to set the size of a buffer. This size is related to the number of messages to be buffered.

For this reason there is a setting option InhibitTime on this Publisher channel. This specifies the time interval with which the messages are to be collected from the buffer as soon as the connection to the target has been restored. In the case of a cyclic Publisher channel the InhibitTime must be smaller than the CycleTime, as otherwise the buffer can never be emptied. In the case of an OnChange or Trigger channel, the InhibitTime indicates the cycle time with which the data are collected from the buffer and published to the Message Broker. If the InhibitTime is set to 0, the messages are sent to the target by the Data Agent as quickly as possible.

If new messages arrive during the processing of the buffer, they are appended to the end of the buffer. This ensures the correct order of the data.