A subject has an associated status that indicates its validity.
When a DataSource application such as Transformer subscribes to a subject, the DataSource peer that supplies updates for the subject (typically an Integration Adapter) first sends back the status of the subject (typically OK), before returning its data values. The peer can send back changes to the subject's status throughout the lifetime of the subscription.
The subscribing DataSource application can also generate its own status values for the subject; for example, if the peer supplying data for the subject goes down, the subscribing DataSource application changes the subject's status to STALE. The DataSource application normally sends each status value on to any subscribing peer.
The following diagram shows a Transformer that normally receives updates for a subject from an Integration Adapter, and after modifying each update it passes it on to a Liberator. The link to the Transformer has gone down, so the Transformer creates a status STALE message for the subject and sends that to the Liberator instead.
The values that a subject status can take are:
|Subject status value||Meaning|
|INFO||This status consists of an information message only. (The other statuses can also have an associated message.)|
|OK||The data for the subject is available.|
|STALE||One or more of the DataSource applications (for example, Integration Adapters) that are required to supply data for the subject are down or have sent back a STALE status message. As a result, this subscribing DataSource may no longer be receiving some or any updates for the subject, and some or all of its values are therefore out of date ("stale").|
|LIMITED||One or more of the DataSource applications (for example, Integration Adapters) that optionally supply data for the subject are down or have sent back a STALE status message.|
You can turn off a DataSource application's ability to send subject status messages back to subscribing peers, for all the subjects handled by a particular data service. To do this, set the disable-auto-status option of the service's add-data-service configuration item to TRUE.
In Transformer, you can configure the default status of all its objects to stale - see default-object-status-stale. You can also configure how Transformer behaves when it receives a status of "limited" for an object - see map-limited-status-to-ok.