The new code works for me. Once we deploy our wars, we don't generally 
re-deploy until we have a new release, and we usually shutdown the 
Glassfish/Payara domain to do that deployment. So, shutting down the JVM 
obviously clears all memory.

I'm not really worried (I think our code should be fine, based on how we 
use it), but I do have one question:
Hasn't the garbage-collection behavior changed by changing the original 
WeakHashMap<Logger, 
String> (if generics had been added to the code as it is in 1.10.x [with 
separate m_loggers for each logging API] without otherwise changing 
underlying code) to WeakHashMap<String, List<Logger>>?

For 1.11.x, the change made for PAXLOGGING-307 was:
public static final Map<String, PaxLoggingManagerAwareLogger> m_loggers = 
new WeakHashMap<String, PaxLoggingManagerAwareLogger>();
became:
public static final List<PaxLoggingManagerAwareLogger> m_loggers = new 
LinkedList<>();

Based on the pre-generics code, the 1.11.x map should have had the logger 
as the key: 
public static final Map<PaxLoggingManagerAwareLogger, String> m_loggers = 
new WeakHashMap<PaxLoggingManagerAwareLogger, String>();


For a WeakHashMap, if all of the other references to the key got discarded 
elsewhere, the key-value pair automatically gets discarded from the 
WeakHashMap, correct? So, if an instance of a class with a reference to a 
PaxLoggingManagerAwareLogger (or Logger [of whatever logging API you used] 
for 1.10.x) got garbage-collected, the logger would also have been removed 
from m_loggers, correct? This automatic removal from m_loggers will not 
occur with a List<PaxLoggingManagerAwareLogger> (for 1.11.x), or with a 
WeakHashMap<String, 
List<Logger>> (for 1.10.x).

As I said, I don't think this will be a problem for us, but it may be 
something to consider, if the original WeakHashMap was by intention to help 
with garbage collection. By this time, no one may know what the original 
intention is...

Thanks again,
Monica


-- 
-- 
------------------
OPS4J - http://www.ops4j.org - [email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ops4j/d4a9fb64-9389-4d08-9b3e-8a735b57d6ef%40googlegroups.com.

Reply via email to