Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.0.0.GA_P01, 3.2
-
Fix Version/s: EE-3.2.0.GA, 3.3
-
Component/s: Push Library, Push Server
-
Labels:None
-
Environment:ICEpush and ICEpush-EE
Description
If a TimerTask running on the Timer throws an Exception it can kill the Timer itself, resulting in subsequent execution of TimerTasks on the Timer to result in an IllegalStateException being thrown stating "Timer already cancelled". We should guard against this to avoid the Timer being killed. Instead the caught Exception can be logged as a warning.
All TimerTasks that are scheduled on the Timer managed by LocalPushGroupManager and BlockingConnectionServer now include a try-catch for Exception in their run() implementations in order to catch any Exception, log it as a warning and avoid killing the Timer. Marking this one as FIXED.