Class ServiceManagerCache
java.lang.Object
com.sap.cds.feature.mt.lib.subscription.ServiceManagerCache
- All Implemented Interfaces:
HanaAccess
For performance reasons the SM should not be accessed with single requests.Therefore, a cache is
used that is filled by a scheduled executer at a configurable time interval. It uses method
getManagedInstances() to get all information with one request. Operations that must be accurate,
use a forceCacheUpdate flag to enforce SM access.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.sap.cds.feature.mt.lib.subscription.HanaAccess
HanaAccess.TenantInfo -
Constructor Summary
ConstructorsConstructorDescriptionServiceManagerCache(ServiceManager serviceManager, Duration smCacheRefreshInterval, com.sap.cds.services.utils.lib.tools.api.ResilienceConfig resilienceConfig) ServiceManagerCache(ServiceManager serviceManager, Duration smCacheRefreshInterval, com.sap.cds.services.utils.lib.tools.api.ResilienceConfig resilienceConfig, boolean acceptInstancesWithoutTenant, boolean ignoreDuplicateTenantInstances, Duration singleReadInterval) ServiceManagerCache(ServiceManager serviceManager, Duration smCacheRefreshInterval, com.sap.cds.services.utils.lib.tools.api.ResilienceConfig resilienceConfig, boolean acceptInstancesWithoutTenant, boolean ignoreDuplicateTenantInstances, Duration singleReadInterval, boolean noCacheRefresh) -
Method Summary
Modifier and TypeMethodDescriptionvoidcreateInstance(String tenantId, ProvisioningParameters provisioningParameters, BindingParameters bindingParameters) voiddeleteInstance(String tenantId) getAllTenants(boolean forceCacheUpdate) getDatabaseIds(boolean forceCacheUpdate) getInstance(String tenantId, boolean forceCacheUpdate) static voidsetAfterFillCache(Callable<Void> afterFillCache)
-
Constructor Details
-
ServiceManagerCache
public ServiceManagerCache(ServiceManager serviceManager, Duration smCacheRefreshInterval, com.sap.cds.services.utils.lib.tools.api.ResilienceConfig resilienceConfig) -
ServiceManagerCache
public ServiceManagerCache(ServiceManager serviceManager, Duration smCacheRefreshInterval, com.sap.cds.services.utils.lib.tools.api.ResilienceConfig resilienceConfig, boolean acceptInstancesWithoutTenant, boolean ignoreDuplicateTenantInstances, Duration singleReadInterval, boolean noCacheRefresh) -
ServiceManagerCache
public ServiceManagerCache(ServiceManager serviceManager, Duration smCacheRefreshInterval, com.sap.cds.services.utils.lib.tools.api.ResilienceConfig resilienceConfig, boolean acceptInstancesWithoutTenant, boolean ignoreDuplicateTenantInstances, Duration singleReadInterval)
-
-
Method Details
-
getInstance
public Optional<ServiceInstance> getInstance(String tenantId, boolean forceCacheUpdate) throws InternalError - Specified by:
getInstancein interfaceHanaAccess- Throws:
InternalError
-
getAllTenants
- Specified by:
getAllTenantsin interfaceHanaAccess- Throws:
InternalError
-
getDatabaseIds
- Specified by:
getDatabaseIdsin interfaceHanaAccess- Throws:
InternalError
-
deleteInstance
- Specified by:
deleteInstancein interfaceHanaAccess- Throws:
InternalError
-
createInstance
public ServiceInstance createInstance(String tenantId, ProvisioningParameters provisioningParameters, BindingParameters bindingParameters) throws InternalError - Specified by:
createInstancein interfaceHanaAccess- Throws:
InternalError
-
clearCache
public void clearCache()- Specified by:
clearCachein interfaceHanaAccess
-
setAfterFillCache
-