Class EhCacheBasedUserCache

  • All Implemented Interfaces:
    org.springframework.beans.factory.InitializingBean, UserCache

    public class EhCacheBasedUserCache
    extends java.lang.Object
    implements UserCache, org.springframework.beans.factory.InitializingBean
    Caches User objects using a Spring IoC defined EHCACHE.
    • Constructor Detail

      • EhCacheBasedUserCache

        public EhCacheBasedUserCache()
    • Method Detail

      • afterPropertiesSet

        public void afterPropertiesSet()
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      • getCache

        public net.sf.ehcache.Ehcache getCache()
      • getUserFromCache

        public UserDetails getUserFromCache​(java.lang.String username)
        Description copied from interface: UserCache
        Obtains a UserDetails from the cache.
        Specified by:
        getUserFromCache in interface UserCache
        username - the User.getUsername() used to place the user in the cache
        the populated UserDetails or null if the user could not be found or if the cache entry has expired
      • putUserInCache

        public void putUserInCache​(UserDetails user)
        Description copied from interface: UserCache
        Places a UserDetails in the cache. The username is the key used to subsequently retrieve the UserDetails.
        Specified by:
        putUserInCache in interface UserCache
        user - the fully populated UserDetails to place in the cache
      • removeUserFromCache

        public void removeUserFromCache​(UserDetails user)
      • removeUserFromCache

        public void removeUserFromCache​(java.lang.String username)
        Description copied from interface: UserCache
        Removes the specified user from the cache. The username is the key used to remove the user. If the user is not found, the method should simply return (not thrown an exception).

        Some cache implementations may not support eviction from the cache, in which case they should provide appropriate behaviour to alter the user in either its documentation, via an exception, or through a log message.

        Specified by:
        removeUserFromCache in interface UserCache
        username - to be evicted from the cache
      • setCache

        public void setCache​(net.sf.ehcache.Ehcache cache)