Hi Robert,

Am Di., 12. Okt. 2021 um 09:35 Uhr schrieb Robert Munteanu <
romb...@apache.org>:

>
>
> Is the basic need to only know when the resource resolver is going to
> be closed in order to flush the cache?
>

That is not my concern at all. In that case I would require the value to be
a Closeable. But that would make it more complex to store simple objects,
and it would also require to change the "close" methods all implementations
of the ResourceResolver interface. By just adding a default method
"getTemporaryStorage()" we can avoid that. Of course this would mandate
that these cached objects do not require an explicit close(). But the only
relevant cases I saw in the last years in the Sling world are
ResourceResolvers and JCR Sessions. And I hope that you don't store other
resourceResolvers in such a cache :-)

The problem I want to solve is
* store objects derived from a resource resolver along the resolver, because
* existing API and code, which is just passing in a resource resolver, but
not a "cache object".



>
> If that is the case we could expose a hook that notifies interested
> parties about a ResourceResolver closing so they can flush the caches.
>
> The benefit would IMO be that we keep the API lean and allow creating
> new bundles that implement the caching logic.
>

I just call it "cache" because I want to emphasize that I cannot rely on
the presence of a key-value pair in that map. I don't think that we need a
very complex logic there by default. But if an implementation could provide
their own implementation of the default method returning a more adjusted.

Jörg

-- 
Cheers,
Jörg Hoh,

https://cqdump.joerghoh.de
Twitter: @joerghoh

Reply via email to