[
https://issues.apache.org/jira/browse/JCS-119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15759353#comment-15759353
]
Ben Manes commented on JCS-119:
-------------------------------
You are welcome to integrate the code, as it is under the Apache License. The
class is well documented and easy to follow once you understand the design. Its
been used quite heavily (Cassandra, Neo4j, Groovy, Grails, etc) and portions
were ported into Guava when developing its cache. You can either shade, copy as
is, or copy and prune.
> replace synchronized blocks by java locks or concurrenhashmap
> -------------------------------------------------------------
>
> Key: JCS-119
> URL: https://issues.apache.org/jira/browse/JCS-119
> Project: Commons JCS
> Issue Type: Improvement
> Reporter: Romain Manni-Bucau
> Assignee: Thomas Vandahl
> Fix For: jcs-2.1
>
>
> A cache is typically used in a concurrent environment. Since Java 6 using a
> ReentrantLock is faster than synchronized so can be interesting to replace
> synchronized blocks by a lock.
> Places i'm thinking about:
> * CompositeCache
> * AbstractDoubleLinkedListMemoryCache
> * LHMLRUMemoryCache
> * DoubleLinkedList
> * LRUMap
> * SingleLinkedList
> * SortedPreferentialArray
> Some places where replacing a HashMap by a ConcurrentHashMap can allow to get
> rid of synchronized without needing a lock:
> * CacheEventQueue
> * AbstractDiskCache
> * CacheWatchRepairable
> There are other places but this is the main I saw.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)