Chapter 7. Scheduling Synchronization
Chapter 7. Scheduling Synchronization
v2
.1
.0
Chapter 7. Scheduling Synchronization
av
ai
la
bl
e
Table of Contents
OpenIDM provides scheduling for synchronization operations such as LiveSync and reconciliation. You schedule the
operations using cron-like syntax.
This chapter describes scheduling for reconciliation and LiveSync. Yet, you can use OpenIDM's scheduler service to
schedule other events, too. See the Scheduler Reference appendix for details.
You configure the scheduler through JSON objects. The corresponding configuration file names take the form
openidm/conf/[org.forgerock.openidm.]scheduler-schedule-name.json, where [org.forgerock.openidm.] is optional and
added automatically when OpenIDM reads the configuration, and schedule-name is the logical name for the scheduled
operation, such as reconcile_systemXmlAccounts_managedUser.
{
"enabled" : true,
"type" : "cron",
"startTime" : "(optional) time",
"endTime" : "(optional) time",
"schedule" : "cron expression",
"timeZone" : "(optional) time zone",
"invokeService" : "service identifier",
"invokeContext" : "service specific context info"
}
The optional properties "startTime", "endTime", and "timeZone" properties can be absent, or empty.
When specifying times and dates, use ISO 8601 format, YYYY-MM-DDThh:mm:ss.
OpenIDM relies on the Quartz Scheduler. The cron expression to use is described in the CronTrigger Tutorial and
in Lesson 6: CronTrigger.
The "invokeService" property takes either "sync" for reconciliation or "provisioner" for LiveSync.
You can also specify the service identifier by its full name as in "invokeService" : "org.forgerock.openidm.sync".
For LiveSync, "source" takes an external resource name and object type.
{
"invokeService": "provisioner",
"invokeContext": {
"action": "liveSync",
"source": "system/ldap/account"
}
}
For reconciliation, "mapping" takes the name of the mapping configured in openidm/conf/sync.json.
{
"invokeService": "sync",
"invokeContext": {
"action": "reconcile",
"mapping": "systemLdapAccounts_managedUser"
}
}
Referencing the mapping by its name in sync.json as shown in the example above. The mapping must exist in
the sync.json file.
Configuring the mapping in the scheduler configuration by using the "mapping" property as shown in the
example in Alternative Mappings Location.
{
"enabled": false,
"type": "cron",
"schedule": "0 0/30 * * * ?",
"invokeService": "sync",
"invokeContext": {
"action": "reconcile",
"mapping": "systemLdapAccounts_managedUser"
}
}
The following example shows a schedule for LiveSync enabled to run every 15 seconds, starting at the beginning of
the minute.
{
"enabled": false,
"type": "cron",
"schedule": "0/15 * * * * ?",
"invokeService": "provisioner",
"invokeContext": {
"action": "liveSync",
"source": "system/ldap/account"
}
}
Prev Next
Chapter 6. Configuring Synchronization Home Chapter 8. Managing Passwords