One possible way is to use Reflection or Spring provided that ReflectionUtils or ReflectionTestUtils ..
I used ReflectionTestUtils in my Junit to test the script when one or more sleeping threads are interrupted.
Code snippet:
Collection<Object> workers = (Collection<Object>) ReflectionTestUtils.getField(responseHandlerTaskExecutor.getThreadPoolExecutor(), "workers"); for(Object worker : workers){ Thread workerThread = (Thread)ReflectionTestUtils.getField(worker, "thread"); workerThread.interrupt(); }
source share