Package org.flowable.ldap
Class LDAPGroupCache
- java.lang.Object
-
- org.flowable.ldap.LDAPGroupCache
-
public class LDAPGroupCache extends Object
Simple cache for groups a user belongs to, which avoid hitting the LDAP system too much. Groups are fetched internally by the engine for example when doing queries, eg when fetching tasks for a candidateUser. Configured through theLDAPConfiguration. Cached entries have an expiration time. For example when set to one hour, changes to the ldap system around the groups of a user will be visible after that hour. Experimental: can have a listener for cache events, and instance ofLDAPGroupCache.LDAPGroupCacheListener.- Author:
- Joram Barrez
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceLDAPGroupCache.LDAPGroupCacheListener
-
Field Summary
Fields Modifier and Type Field Description protected longexpirationTimeprotected Map<String,org.flowable.ldap.LDAPGroupCache.LDAPGroupCacheEntry>groupCacheprotected LDAPGroupCache.LDAPGroupCacheListenerldapCacheListener
-
Constructor Summary
Constructors Constructor Description LDAPGroupCache(int cacheSize, long expirationTime, Supplier<org.flowable.common.engine.impl.runtime.ClockReader> clockReader)LDAPGroupCache(int cacheSize, long expirationTime, org.flowable.common.engine.impl.runtime.ClockReader clockReader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(String userId, List<Group> groups)voidclear()List<Group>get(String userId)longgetExpirationTime()Map<String,org.flowable.ldap.LDAPGroupCache.LDAPGroupCacheEntry>getGroupCache()LDAPGroupCache.LDAPGroupCacheListenergetLdapCacheListener()voidsetExpirationTime(long expirationTime)voidsetGroupCache(Map<String,org.flowable.ldap.LDAPGroupCache.LDAPGroupCacheEntry> groupCache)voidsetLdapCacheListener(LDAPGroupCache.LDAPGroupCacheListener ldapCacheListener)
-
-
-
Field Detail
-
expirationTime
protected long expirationTime
-
ldapCacheListener
protected LDAPGroupCache.LDAPGroupCacheListener ldapCacheListener
-
-
Constructor Detail
-
LDAPGroupCache
public LDAPGroupCache(int cacheSize, long expirationTime, org.flowable.common.engine.impl.runtime.ClockReader clockReader)
-
LDAPGroupCache
public LDAPGroupCache(int cacheSize, long expirationTime, Supplier<org.flowable.common.engine.impl.runtime.ClockReader> clockReader)
-
-
Method Detail
-
clear
public void clear()
-
getGroupCache
public Map<String,org.flowable.ldap.LDAPGroupCache.LDAPGroupCacheEntry> getGroupCache()
-
setGroupCache
public void setGroupCache(Map<String,org.flowable.ldap.LDAPGroupCache.LDAPGroupCacheEntry> groupCache)
-
getExpirationTime
public long getExpirationTime()
-
setExpirationTime
public void setExpirationTime(long expirationTime)
-
getLdapCacheListener
public LDAPGroupCache.LDAPGroupCacheListener getLdapCacheListener()
-
setLdapCacheListener
public void setLdapCacheListener(LDAPGroupCache.LDAPGroupCacheListener ldapCacheListener)
-
-