
Package ca.uhn.fhir.cache
Class BaseResourceCacheSynchronizer
java.lang.Object
ca.uhn.fhir.cache.BaseResourceCacheSynchronizer
- All Implemented Interfaces:
IResourceChangeListener,ca.uhn.fhir.rest.server.util.IResourceRepositoryCache
public abstract class BaseResourceCacheSynchronizer
extends Object
implements IResourceChangeListener, ca.uhn.fhir.rest.server.util.IResourceRepositoryCache
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseResourceCacheSynchronizer(String theResourceName) protectedBaseResourceCacheSynchronizer(String theResourceName, IResourceChangeListenerRegistry theResourceChangeListenerRegistry, DaoRegistry theDaoRegistry) -
Method Summary
Modifier and TypeMethodDescriptionvoidintvoidprotected abstract SearchParameterMapvoidhandleChange(IResourceChangeEvent theResourceChangeEvent) voidhandleInit(Collection<org.hl7.fhir.instance.model.api.IIdType> theResourceIds) protected abstract voidhandleInit(List<org.hl7.fhir.instance.model.api.IBaseResource> resourceList) voidThis method performs a search in the DB, so use theContextRefreshedEventto ensure that it runs after the database initializervoidvoidsetMaxRetries(Integer theMaxRetries) voidshutdown()voidstart()protected abstract intsyncResourcesIntoCache(List<org.hl7.fhir.instance.model.api.IBaseResource> resourceList) void
-
Field Details
-
MAX_RETRIES
- See Also:
-
REFRESH_INTERVAL
- See Also:
-
-
Constructor Details
-
BaseResourceCacheSynchronizer
-
BaseResourceCacheSynchronizer
protected BaseResourceCacheSynchronizer(String theResourceName, IResourceChangeListenerRegistry theResourceChangeListenerRegistry, DaoRegistry theDaoRegistry)
-
-
Method Details
-
registerListener
@EventListener(classes=org.springframework.context.event.ContextRefreshedEvent.class) @Order(310) public void registerListener()This method performs a search in the DB, so use theContextRefreshedEventto ensure that it runs after the database initializer -
unregisterListener
-
requestRefresh
- Specified by:
requestRefreshin interfaceca.uhn.fhir.rest.server.util.IResourceRepositoryCache
-
forceRefresh
- Specified by:
forceRefreshin interfaceca.uhn.fhir.rest.server.util.IResourceRepositoryCache
-
acquireSemaphoreForUnitTest
- Throws:
InterruptedException
-
doSyncResourcesForUnitTest
-
setMaxRetries
-
syncResourcesIntoCache
protected abstract int syncResourcesIntoCache(@Nonnull List<org.hl7.fhir.instance.model.api.IBaseResource> resourceList) -
start
-
shutdown
-
handleInit
- Specified by:
handleInitin interfaceIResourceChangeListener
-
handleInit
protected abstract void handleInit(@Nonnull List<org.hl7.fhir.instance.model.api.IBaseResource> resourceList) -
handleChange
- Specified by:
handleChangein interfaceIResourceChangeListener
-
getSearchParameterMap
-