I don't know if I can, but I'm interested on it. I will send an email here if I start something so we won't have double effort around it.
So, I ask if anyone started doing this.. please send a heads up here so we won't have 2 people working on the same thing. On Tue, Aug 23, 2016 at 1:17 PM, Romain Manni-Bucau <[email protected]> wrote: > > 2016-08-23 18:49 GMT+02:00 Mark Struberg <[email protected]>: >> >> No it's not _that_ easy. Simply using a WeakHashMap wont work. You also >> have to wrap the value in a WeakReference. Otherwise the value in the Map >> will prevent the CL from being garbage collected. A common pitfall I've seen >> soooo often implemented the wrong way ;) >> > > Sounds like a good enough solution to me. JCache impl should be updated as > well probably. > > Who does want to drive this? I'm quite limited in time ATM so happy to let > it be done but can help a bit in 1 or 2 weeks if needed. > >> >> LieGrue, >> strub >> >> >> >> >> >> > On Tuesday, 23 August 2016, 17:42, Clebert Suconic >> > <[email protected]> wrote: >> > >> Not sure I get you there, commons clearly doesn't take in charge any >> > >> of >> > that >> >> but some containers can force some cleanup (not the other way around) >> >> - at >> >> least for beansutils for instance. >> > >> > With a WeakHashmap, the cache will be removed once the classLoader is >> > released, right? Which is what I am trying to achieve here. The cache >> > per classLoader. And Removing the classLoader once the references are >> > >> > released. >> > >> > >> >> >> >> Starting with a "leaking" WeakHashMap<ClassLoader, >> > Provider> and see if >> >> consumers are complaining. >> >> >> >> It would solve your issue and I can make it working in tomee for >> >> instance >> > >> > >> > Why it would matter? a WeakHashMap won't cause a leak in anyways. The >> > ClassLoader is a weak references. Whenever Tomee released the >> > classLoader the element would go away from the WeakHashMap. That's how >> > weakHashMaps work, and that's the intent. >> > > > -- Clebert Suconic
