Package org.opennms.test
Class ThreadLocker
- java.lang.Object
-
- org.opennms.test.ThreadLocker
-
public class ThreadLocker extends java.lang.Object
This class can be used to verify the number of threads that are calling a particular method. This is achieved by locking all of the threads that callMessageProducer#send
and providing a callback (via aCompletableFuture
) that is invoked once the desired number of threads is reached. If a larger number of threads than expected callMessageProducer#send
, these are locked as well, and the number of these is provided bygetNumExtraThreadsWaiting()
.- Author:
- jwhite
-
-
Constructor Summary
Constructors Constructor Description ThreadLocker()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getNumExtraThreadsWaiting()
void
park()
void
release()
java.util.concurrent.CompletableFuture<java.lang.Integer>
waitForThreads(int numThreads)
-