jcabi-http
jcabi-http copied to clipboard
Caching Implementation Inconsistencies
There currently (that I'm aware of) isn't a way to externalize the cache to a Reddis/Cassandra/etc.
There are a number of caching wires that are unable to do the job:
-
AbstractHeaderBasedCachingWire.java
: cache is a transientMap
that isn't user replaceable -
CachingWire.java
: uses guavaMap
, so probably the closest, but not easy/documented how to do it -
FcWire.java
: cache root is a directory, andFcCache
is final and not an Interface
All of these are close, but no cigar.
What I'm specifically trying to do is create a Wire (GitHubWire.java
) that supports a pluggable cache and supports ETag
. AbstractHeaderBasedCachingWire.java
would be perfect if I could just swap out the caching implementation...
@yegor256/z please, pay attention to this issue
@nnordrum/z this project will fix the problem faster if you donate a few dollars to it; just click here and pay via Stripe, it's very fast, convenient and appreciated; thanks a lot!
I realize jcabi/jcabi-github
may be the right place the this, but here had more wires.
@nnordrum Would an extra constructor with Map
parameter added in AbstractHeaderBasedCachingWire
be enough?
Note, only 4 Map
methods are used by this class (put
,get
,remove
, contains
), so may be it should not be a Map
.
CachingWire
keeps its cache it in static private variable, it could refactor in order to be used like .through(CachingWire.class, cache)
, though we would need an extract interface for this cache
object.
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@andreoss what's up with this ticket?
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256 I would go with extra parameter to CachingWire
, if you're okay with that
https://github.com/jcabi/jcabi-http/issues/179#issuecomment-655242046
@andreoss yes, it's fine
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@nnordrum the puzzle #222 is still not solved.
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)
@yegor256/z everybody who has role DEV
is banned at #179; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)