Configures the importer component of Content Federation Service (CFS). The CFS importer works in conjunction with the CFS exporter to map external documents to FileNet P8 documents in a one-to-one relationship. Specifically, using data extracted from an external repository and loaded into a federator database by the exporter, the importer creates and updates FileNet P8 documents known as federated documents. (For background information on the exporter and on the relationship between the federator database, the IBM Content Integrator instance, and the external repository, see the IIICEFixedContentDevice interface.) A federated document is a FileNet P8 document created as a proxy for an external document, whereby FileNet P8 stores metadata (property values) mirroring the metadata stored in the external repository but keeps only a reference to the external stored content; the federated document accesses the external content in a transparent fashion, and thus behaves, with some limitations, like any other standard FileNet P8 document. The importer creates a new federated document to represent an external document when first importing the external document into FileNet P8. Thereafter, when subsequently re-importing the external document, the importer updates the metadata of the existing federated document.

You can associate this import configuration with a server or a group of servers. Specifically, as with all configuration objects belonging to ISubsystemConfiguration derived interfaces, an ICFSImportAgentConfiguration instance can be associated with the following types of objects (via the SubsystemConfigurations property): IServerInstance, representing one server; IVirtualServer, representing one or more servers; ISite, representing a yet larger grouping of servers and other objects based on a geographic location; and a IDomain, representing the largest possible collection of resources and services sharing the same Global Configuration Database (GCD). On startup, and periodically thereafter, the Content Engine server checks the IServerInstance object representing itself, then the IVirtualServer object representing the virtual server of which it is a part, and so on, searching for the most closely associated import configuration. At least one such configuration always exists, because the automatic creation of a default CFSImportAgentConfiguration object occurs when you first create the domain.

Some site-specific settings might override the settings configured here. For more information, see the ICFSSiteSettings interface.

The importer runs as part of the Content Engine, and one importer exists for each Content Engine instance. Each importer runs against all of the federator databases that have been defined for the domain (via GCD-stored IIICEFixedContentDevice objects); consequently, multiple importers can be operating against the same federator database. Importers process batches of import requests created in the federator database by the exporter, where each import request represents a document version series stored in the external repository. In addition to the external metadata and content, an import request has properties indicating the target document class and the target object store. An importer can process an import request for any object store within the domain. The configuration of import request processing revolves around these importer sub-components:

  • Import Dispatcher - The import dispatcher is the main sub-component of the importer; one dispatcher exists per importer. To enable or disable the dispatcher, set the DispatcherEnabled property.
  • Import Agent - The import agent periodically scans the federator database for incoming import batches, loads the batches into an in-memory federation request queue, and assigns the batches from the queue to the import workers it creates. One agent exists per federator database per Content Engine instance. Consequently, this configuration might govern the behavior of more than one dispatcher. To control the activity level of the agent, set these properties: MaxInMemoryItems and DispatcherWaitInterval.
  • Import Worker - The import worker performs the actual work of creating or updating FileNet P8 documents from the incoming external metadata and content. Each worker exists on a separate thread of execution. To control the number of workers and the distribution of work among workers, set these properties: MaxWorkerThreads, LeaseDuration, and BatchSelectionSize.

The following tables list the members exposed by ICFSImportAgentConfiguration.

Public Properties

 NameDescription
Public propertyBatchSelectionSizeAttention: Do not change the value of this property without guidance from a support representative. Doing so might adversely affect system performance.

The maximum number of batches that are selected by the import agent dispatcher from the database in a single database round trip.

Public propertyDispatcherEnabledA boolean value that controls the run enabled status of the dispatcher. When true, the dispatcher runs. When false, the dispatcher does not run.

For the ICFSImportAgentConfiguration interface, when the value of this property is true, the dispatcher runs, but the importer as a whole might still not process import requests when the import agent sub-component has not also been enabled. For more information, see the IsImportAgentEnabled property on the ICFSSiteSettings interface. For a discussion of the importer sub-components, see the ICFSImportAgentConfiguration interface.

Public propertyDispatcherWaitIntervalAttention: Do not change the value of this property without guidance from a support representative. Doing so might adversely affect system performance.

An interval, in seconds, between processing runs for the dispatcher; during this time, the dispatcher remains idle and waits for incoming work. The value specified by this property can represent differing wait intervals depending on the class on which the property occurs, as follows:

  • Except as noted below, represents a minimum wait interval, with a maximum wait interval defined by the LeaseDuration property.
  • For the ICFSImportAgentConfiguration interface, represents a maximum wait interval. (The minimum interval is always 1 second and cannot be changed).
  • For the IAsyncProcessingConfiguration interface, represents a fixed wait interval. (In effect, represents both the minimum and the maximum wait interval).

The interaction between the minimum and maximum intervals occurs in this manner: if in the previous processing run the dispatcher had work to perform, the duration of the subsequent wait interval that the dispatcher actually remains idle is the minimum interval; otherwise, if the dispatcher had no work to perform, the duration is the shorter of these two intervals: (a) Double the previous wait interval or (b) the maximum wait interval. As an example, assuming the minimum interval to be 35 seconds and the maximum as 120, the dispatcher remains idle for 35 seconds, detects no available work, remains idle for 70 seconds (double the previous wait interval), detects no available work, remains idle for 120 seconds (the maximum interval), detects no available work, remains idle for 120 seconds, detects incoming work and processes the work, remains idle for 35 seconds, and so on. Note that, when the minimal interval equals the maximum interval (as is always the case for the IAsyncProcessingConfiguration interface), this example can be simplified. If both the minimum and maximum interval is 35 seconds, the dispatcher remains idle for 35 seconds, detects no available work, remains idle for 35 seconds, detects incoming work and processes the work, remains idle for 35 seconds, and so on.

For the ICFSImportAgentConfiguration interface, this property, despite the name, applies to the importer sub-component known as the import agent and not to the import dispatcher; for information on the importer sub-components, see the ICFSImportAgentConfiguration interface.

Public propertyLeaseDurationAttention: Do not change the value of this property without guidance from a support representative. Doing so might adversely affect system performance.

The maximum interval, in seconds, allowed a worker to process a batch before the assignment of the batch to another worker. This interval ensures that any abnormal termination of the worker previously assigned to the batch does not prevent batch completion.

Public propertyMaxInMemoryItemsAttention: Do not change the value of this property without guidance from a support representative. Doing so might adversely affect system performance.

This value, in combination with the MaxWorkerThreads parameter, establishes a threshold that, when exceeded, prevents additional batches of federation requests from being inserted in the in-memory pre-fetch queue. The number of items in the queue is reduced as batches of work are dispatched to worker threads. The number of batches in the queue will eventually fall below the threshold and the addition of new batches from the database queue will be resumed.

Public propertyMaxWorkerThreadsThe maximum number of import workers that the import agent is allowed to create. Setting the value of this property appropriately prevents the under- or over-utilization of the Content Engine server on behalf of the CFS importer.

For information on the CFS import agent, see the ICFSImportAgentConfiguration interface.

Top

See Also