Represents a background task that performs an indefinite number of sweeps over a queue table specified as a target class. The custom queue sweep passes retrieved queue objects to a user implementation of the SweepActionHandler Java interface, which performs a custom action on the objects. When the handler successfully processes a queue item, the sweep service automatically deletes the item from the queue table. Queue items that fail to process are automatically retried up to a configurable number of times.

A queue sweep can only process subclass instances of ICmAbstractQueueEntry. For a custom queue sweep to work, you must create a subclass of ICmAbstractQueueEntry, and specify that subclass in the SweepTarget property of the custom queue sweep.

To associate an implemented action handler with a custom queue sweep, set a ICmSweepAction on the custom queue sweep.

A typical use case for a queued background operation is to control the flow of work to a scarce resource that is too slow to perform its operation within the context of an on-line transaction. A shared printer servicing a client application is one such case. An application that sends requests directly to the printer could back up the printer with requests. By implementing a custom queue sweep, you could manage the delivery of requests to the printer at an even rate. Instead of sending requests directly to the printer, the application would leverage the custom queue sweep, which would pass queue objects (printer requests) to a sweep action handler. The handler (and the supporting sweep service) would control the flow of requests to the printer.

See Custom Sweeps and Action Handlers.

Namespace:  FileNet.Api.Sweep
Assembly:  FileNet.Api (in FileNet.Api.dll)

ToggleSyntax

Visual Basic (Declaration)
Public Interface ICmCustomQueueSweep _
	Implements ICmQueueSweep, ICmSweep, IRepositoryObject, ISubscribable,  _
	IIndependentlyPersistableObject, IIndependentObject, IEngineObject, ICloneable
C#
public interface ICmCustomQueueSweep : ICmQueueSweep, 
	ICmSweep, IRepositoryObject, ISubscribable, IIndependentlyPersistableObject, IIndependentObject, 
	IEngineObject, ICloneable
Visual C++
public interface class ICmCustomQueueSweep : ICmQueueSweep, 
	ICmSweep, IRepositoryObject, ISubscribable, IIndependentlyPersistableObject, IIndependentObject, 
	IEngineObject, ICloneable
JavaScript
FileNet.Api.Sweep.ICmCustomQueueSweep = function();
FileNet.Api.Sweep.ICmCustomQueueSweep.createInterface('FileNet.Api.Sweep.ICmCustomQueueSweep');

ToggleRemarks

Metadata

Auditable: true
AllowsInstances: true
AllowsSubClasses: true
ClassDefinitionName: SubscribableClassDefinition
IsDependent: false
IsHidden: false
Name: DisplayName
Searchable: true
StorageType: ObjectStore
SuperclassName: CmQueueSweep

ToggleSee Also