[jira] [Commented] (SHIRO-481) Provide CacheManager implementation based on Guava caching API

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (SHIRO-481) Provide CacheManager implementation based on Guava caching API

Francois Papon (Jira)

    [ https://issues.apache.org/jira/browse/SHIRO-481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17020038#comment-17020038 ]

Brendan Le Ny commented on SHIRO-481:
-------------------------------------

Hi [~bmarwell]

I no longer need this feature. I now useĀ org.apache.shiro.cache.MemoryConstrainedCacheManager. Feel free to make a PR if useful to others.

Thanks!

> Provide CacheManager implementation based on Guava caching API
> --------------------------------------------------------------
>
>                 Key: SHIRO-481
>                 URL: https://issues.apache.org/jira/browse/SHIRO-481
>             Project: Shiro
>          Issue Type: Wish
>          Components: Caching
>    Affects Versions: 1.2.2
>            Reporter: Brendan Le Ny
>            Priority: Minor
>              Labels: features, patch, performance
>         Attachments: SHIRO-481.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Guava has become a common library used in many projects.
> Provided default implementation (MemoryConstrainedCacheManager) seems to retain data in cache for too long for common cases.
> Others implementation (ehcache, terracotta) require the developper to add some dependencies.
> Guava provides a caching API [1]. It's convenient since it's in-memory and thread-safe, Guava has a mature quality code base and it support few tweaking options:
>     concurrencyLevel
>     initialCapacity
>     maximumSize
>     maximumWeight
>     expireAfterAccess
>     expireAfterWrite
>     refreshAfterWrite
>     weakKeys
>     softValues
>     weakValues
>     recordStats
> I've already programmed the whole thing (patch provided) and I was wondering if the Shiro team would be interested to integrate this as a new module. It's tiny (no dependency except guava and shiro-cache).
> We could just put this CacheManager implementation in shiro-core or in shiro-cache module or in it's own module (but i think a module for a single class is overkill).
> It's not perfect but i did some Javadoc.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)