The following actions indicate key points in the life cycle of a data source. The events take place after a data source extension has been implemented, packaged, and installed into the Content Acquisition System.

Action

Corresponding life cycle event

The CAS Service starts.

CAS Server instantiates any DataSource that is installed and correctly annotated.

The following items perform the same action.

CAS Server instantiates the PipelineComponentConfiguration specified by the DataSource.

CAS Server performs data type and constraint validation and also calls PipelineComponentConfiguration.validate() to execute any additional custom validation code you wrote in the method's implementation.

The following items perform the same action.

CAS Server re-creates the PipelineComponentConfiguration specified by the DataSource and re-validates the PipelineComponentConfiguration by calling validate(). (CAS Server injects configuration property values via reflection before calling validate().)

CAS Server calls createDataSourceRuntime() on the DataSource instance.

The resulting DataSourceRuntime exists for the duration of the acquisition.

If an incremental acquisition is requested, CAS Server calls checkFullAcquisitionRequired() on the new DataSourceRuntime. The check returns a Boolean value to indicate whether a full acquisition is required or not.

If any data source or manipulator in the CAS pipeline returns true, CAS Server calls DataSourceRuntime.runFullAcquisition().

If all extensions return false, CAS Server calls IncrementalDataSourceRuntime.runIncrementalAcquisition().

After all records have been processed by all extensions, CAS Server calls PipelineComponentRuntime.endAcquisition().

CAS Server passes in an AcquisitionEndState value to endAcquisition() to indicate whether the extension succeeded, failed, or requires a full acquisition to recover from a failure.

The following items perform the same action.

CAS Server calls PipelineComponent.deleteInstance() when a data source is removed from an application as part of updating or deleting an acquisition, and deleteInstance() is also called if the data source type of the acquisition has changed. (The data source type is represented by a ModuleId setting in the CAS Server API).


Copyright © Legal Notices