-
Sub-task
-
Resolution: Done
-
Major
-
4.6.1
-
None
Issue JBTM-468 is not completely solved.
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery in its shutdown(boolean) method does not stop the _listener, so a call to _listener.stopListener() should be added to it. Otherwise the listener is never stopped and this can cause a leak if the JVM does not terminate between restarts.
Moreover, as Listener threads are always started as daemon threads, I think com.arjuna.ats.internal.arjuna.recovery.Listener.finalize() is quite useless: if the JVM is terminating, the thread is stopped because it's a daemon thread, while in case of restart the Listener is certainly stopped by the restart process (bugs permitting). As it is right now, that finalize() method just causes useless GC overhead.
- is incorporated by
-
JBTM-569 Transaction/Recovery Manager threads need to be able to be started and stopped cleanly whether running in JBossAS, embedded in an APP or standalone
- Closed