Class ProvisionerCoordinator
java.lang.Object
edu.internet2.middleware.grouper.pspng.ProvisionerCoordinator
This class coordinates the efforts of a provsioner's full-sync and incremental-sync
processes. One of these classes is created by the ProvisionerFactory for each named provisioner
and then shared among the incremental and full-sync provisioners.
The goal of this class is to prevent the full- and incremental-provisioners of a target
from processing the same group at the same time. It will also eventually serve as the
way to skip incremental events that were created before the last full-sync occurred.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final int
protected final int
protected final ProvisionerConfiguration
-
Constructor Summary
ConstructorsConstructorDescriptionProvisionerCoordinator
(Provisioner<?, ?, ?> provisioner) Create a ProvisionerCoordinator -
Method Summary
Modifier and TypeMethodDescriptionvoid
Used by the Full-Sync provisioners to wait and then lock the group from being incrementally provisioned.void
Used by the incremental provisioners to wait and then lock the group from full-sync operationsvoid
void
unlockAfterFullSync
(GrouperGroupInfo group, boolean fullSyncWasSuccessful) void
-
Field Details
-
provisionerConfig
-
coordinationTimeout_secs
protected final int coordinationTimeout_secs -
coordinationUpdateInterval_secs
protected final int coordinationUpdateInterval_secs
-
-
Constructor Details
-
ProvisionerCoordinator
Create a ProvisionerCoordinator- Parameters:
provisioner
-
-
-
Method Details
-
lockForFullSyncIfNoIncrementalIsUnderway
Used by the Full-Sync provisioners to wait and then lock the group from being incrementally provisioned.- Parameters:
group
-
-
unlockAfterFullSync
-
unlockAfterFullSync
-
getLastSuccessfulFullSyncTime
-
lockForIncrementalProvisioningIfNoFullSyncIsUnderway
Used by the incremental provisioners to wait and then lock the group from full-sync operations- Parameters:
group
-
-
unlockAfterIncrementalProvisioning
-