ScheduledExecutorService stops rescheduling tasks that were scheduled with scheduleAtFixedRate or scheduleWithFixedDelay if an exception propagates out of them.
We handle this for the decision and activity task pollers by wrapping the scheduled Runnable with ThreadUtils.wrapInExceptionSwallower().
ScheduledExecutorService stops rescheduling tasks that were scheduled with
scheduleAtFixedRate
orscheduleWithFixedDelay
if an exception propagates out of them.We handle this for the decision and activity task pollers by wrapping the scheduled Runnable with
ThreadUtils.wrapInExceptionSwallower()
.We need to do the same thing for the background pool that schedules periodic workflows: https://github.com/danielgmyers/flux-swf-client/blob/e3f519d5b3800c9d3dbf33766461656825d2c006/flux/src/main/java/software/amazon/aws/clients/swf/flux/FluxCapacitorImpl.java#L673