Improve logging of finalize() methods

This commit is contained in:
Florian Schmaus 2014-12-19 12:54:07 +01:00
parent 18ac83cf8c
commit efb9a5f517
2 changed files with 7 additions and 1 deletions

View File

@ -1057,6 +1057,8 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
@Override
protected void finalize() throws Throwable {
LOGGER.fine("finalizing XMPPConnection ( " + getConnectionCounter()
+ "): Shutting down executor services");
try {
// It's usually not a good idea to rely on finalize. But this is the easiest way to
// avoid the "Smack Listener Processor" leaking. The thread(s) of the executor have a

View File

@ -404,9 +404,13 @@ public class PingManager extends Manager {
@Override
protected void finalize() throws Throwable {
LOGGER.fine("finalizing PingManager: Shutting down executor service");
try {
executorService.shutdown();
} finally {
} catch (Throwable t) {
LOGGER.log(Level.WARNING, "finalize() threw throwable", t);
}
finally {
super.finalize();
}
}