Running and scheduling the contact auto sync work queue

You can have your work queues process changes on a schedule or in real time as they happen. The InstantaneousContactAutoSync parameter in the ClaimCenter config.xml file controls this behavior. This parameter determines how ClaimCenter updates copies of a contact instance that has changed, either by a user action in ClaimCenter or by a change notification from ContactManager.

To open this file, start Guidewire Studio™ for ClaimCenter. Then, in the Project window, navigate to configuration > config and double-click config.xml. After changing this parameter, you must rebuild and redeploy ClaimCenter for the changes to take effect.

By default, the InstantaneousContactAutoSync parameter is set to true:

<param name="InstantaneousContactAutoSync" value="true"/>

There are also two configuration parameters in config.xml that can improve performance of contact synchronization:

ContactAutoSyncWorkItemChunkSize
Specifies the maximum number of contacts linked to a single AddressBookUID that each ContactAutoSync work item is to process. The default value is 400.
ContactAutoSyncBundleCommitSize
Specifies the maximum number of contacts that match a single AddressBookUID in each bundle commit. The default value is 15.

For example, if 1600 ClaimCenter local contacts are linked to a single ContactManager contact (one AddressBookUID for all 1600 contacts), then with these parameters set to their default values:

  • There are four work items with 400 contacts each.
  • Each work item does 27 commits (400/15).
Important: With InstantaneousContactAutoSync set to true, updating local instances of a contact can affect system performance if you have a large number of local instances. Additionally, if ClaimCenter receives a contact change notification from ContactManager, ClaimCenter updates all local instances of the contact, even instances open for edit. If a ClaimCenter user is editing a local instance of that contact, the user will be unable to save the changes made in the editing session. The user will have to exit the editing session and start over with the newly updated contact data received from ContactManager.

Setting InstantaneousContactAutoSync to false causes ClaimCenter to perform synchronized updates on the schedule set for the ContactAutoSync work queue in the scheduler-config.xml file. To open this file in the editor, start Guidewire Studio™ for ClaimCenter, and in the Projects window, navigate to configuration > config > scheduler and double-click scheduler-config.xml. You must rebuild and redeploy ClaimCenter for changes to take effect.

By default, ContactAutoSync is set to run at 5:00 am and 5:00 pm every day. It is on this schedule to ensure that all contacts are synchronized before the Financials Escalation work queue, FinancialsEsc, runs every day at 6:05 am and 6:05 pm. Synchronizing contacts before running the Financials Escalation work queue prevents Financials Escalation from having validation errors for contacts that are not synchronized. If you change the ContactAutoSync times, also schedule Financials Escalation to run at an appropriate time afterward.

The default ContactAutoSync setting looks like this:

<!-- Contact Auto Sync batch process should run every day at 5 am and 5 pm.
     It needs to run before the financials escalations to prevent those 
     from triggering validation errors from out of sync contacts.-->
  <ProcessSchedule process="ContactAutoSync">
    <CronSchedule hours="5,17"/>
  </ProcessSchedule>-->
  • If you set InstantaneousContactAutoSync to false and do not schedule ContactAutoSync, the work queue does not run and the system does not process changes.
  • If you set InstantaneousContactAutoSync to true and you have ContactAutoSync scheduled, changes process immediately, and then the scheduled ContactAutoSync work queue also runs as scheduled.

See also