Affects Version/s: None
Fix Version/s: 1.0
KULRICE-2385 Implement caching on the IdentityManagementService - Phase 2 KULRICE-2384 Implement caching on the IdentityManagementService - Phase 1 KULRICE-3007 Implement caching in the RiceApplicationConfigurationMediationServiceImpl KULRICE-2198 Wire up IdentityManagementService to IdentityService and GroupService KULRICE-7258 Implement caching on ExtensionRepositoryService KULRICE-5318 move IdentityManagementService interface/impl to client-contrib KULRICE-3006 Implement Parameter caching in the ParameterProxyService KULRICE-2452 Implement cluster-aware caching on KNS System Parameters KULRICE-5319 Implement caching on remote soap services KULRICE-8327 Implement caching for Message Service
Application Requirement:KFS, Rice
The IdentityManagementService will be implemented locally by KIM clients. This service will provide a single point of contact to the 4 main KIM services (Identity/Group/Authentication/Authorization)
Since those services could be remote, this interface's base implementation will cache data retrieved from the four services.
This implementation should be configurable with a max storage time for data from each service. (A zero indicating not to cache at all.)
The caches should also have a configurable maximum size and use WeakReferences to hold the objects, so that the VM can trash them if it needs the memory.
No periodic scan is necessary to purge the cache. The age check can be performed upon retrieval. The caches may need to be keyed in a couple different ways, depending on the object.
Examples of items to be cached:
Entity data / based on principal
Entity group lists
Entity Role lists
Results of permission checks? - parameters would be complex, - not sure how to