Class ThreadSafeResourceDeleterSvc

java.lang.Object
ca.uhn.fhir.jpa.delete.ThreadSafeResourceDeleterSvc

Used by CascadingDeleteInterceptor to handle DeleteConflictLists in a thead-safe way.

Specifically, this class spawns an inner transaction for each DeleteConflictList. This class is meant to handle any potential delete collisions (ex ResourceGoneException or ResourceVersionConflictException. In the former case, we swallow the Exception in the inner transaction then continue. In the latter case, we retry according to the RETRY_BACKOFF_PERIOD and RETRY_MAX_ATTEMPTS before giving up.