<task> <name>Asynchronous update: Example Resource</name> <ownerRef oid="00000000-0000-0000-0000-000000000002" type="UserType"/> <executionState>runnable</executionState> <activity> <work> <asynchronousUpdate> <updatedResourceObjects> <resourceRef oid="54102823-84c3-49f0-a350-3b5514c9b7b9"/> </updatedResourceObjects> </asynchronousUpdate> </work> </activity> </task>
EXPERIMENTALThis feature is experimental. It means that it is not intended for production use. The feature is not finished. It is not stable. The implementation may contain bugs, the configuration may change at any moment without any warning and it may not work at all. Use at your own risk. This feature is not covered by midPoint support. In case that you are interested in supporting development of this feature, please consider purchasing midPoint Platform subscription.
The asynchronous update activity/task processes a stream of so-called change events coming from a resource. These events represent changes related to resource objects: their creation, modification, or deletion. The task ensures that these events are processed, so that changes on the resource objects are reflected on midPoint objects (and propagated to other resources, if needed).
Unlike live synchronization, these change events are sent to midPoint asynchronously, i.e. the transfer is driven by the resource, not by midPoint.
The heart of the configuration is the specification of what resource objects
we want to process updates for. The
resourceRef is obligatory, all the other properties are ignored (for now).
The default behavior of Asynchronous update activity is to stop when an error is encountered. This is to ensure that no information is lost in such cases. This behavior can be changed via custom error handling specification.
TODO link to information about asynchronous resources