I noticed ExecutorConfigurationSupport(ThreadPoolTask[Executor|Scheduler]) only takes seconds for await termination.

I'm writing a graceful shutdown logic for k8s environment and awaiting by second is a bit large granularity to control the shutdown/await. Graceful shutdown get triggered by liveness probe and the frequency for liveness probe is not so long.

This PR changes the minimum unit to milliseconds and adds a method to take Duration to specify the await termination.

Comment From: rstoyanchev

I've turned that into awaitTerminationMillis which is usable for XML config, consistent with the rest of the framework, itself a shortcut for a Duration.

Comment From: ttddyy

cool, thanks!!