We don't need all the stuff CLHM has, but I see no easy&scalable way of doing concurrent map with eviction by mere java.util.concurrent stuff.
Well, I can do lock splitting (i.e. use multiple small LRU caches instead of a single big cache), however that looks like reinventing the wheel.
Can you suggest what is the best way of adding CLHM dependency? Should it be added in plain? Should it be shaded? (i.e. renamed to org.postgresql.clhm...)
I'm more inclined to the "add regular dependency" approach.
I expect similar question might appear if we consider using netty for IO. -- Regards, Vladimir Sitnikov