As it turns out (rather obvious) that the ThreadPools for registration and status updating needs to be destroyed on application shutdown so that the worker threads gets cancelled. To achieve this we simply register the ThreadPools as spring beans (since they are implementing DisposableBean). fixes #253