Timers are single threaded, and a blocked task will halt all other scheduled tasks in the system. We should just use the pattern of creating a Timer internally when none is injected, and tear it down in the destroy() method, which is already done by most of the components. Once it's unused, we can pull the TimerTask bean.
Environment
None
Activity
Scott Cantor
December 12, 2014 at 11:35 PM
Final check-in is r7083, pulled all the references to shibboleth.TaskTimer, fixed all the classes using it to correctly create their own, and fixed the MetadataResolver parsers to allow for this behavior.
Timers are single threaded, and a blocked task will halt all other scheduled tasks in the system. We should just use the pattern of creating a Timer internally when none is injected, and tear it down in the destroy() method, which is already done by most of the components. Once it's unused, we can pull the TimerTask bean.