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 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
ContactAutoSyncwork 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).
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 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
falseand do not scheduleContactAutoSync, the work queue does not run and the system does not process changes. - If you set
InstantaneousContactAutoSynctotrueand you haveContactAutoSyncscheduled, changes process immediately, and then the scheduledContactAutoSyncwork queue also runs as scheduled.
See also
- For general information on administering and configuring scheduled batch processes, see Scheduling work queue writers and batch processes.
