62,612
社区成员
发帖
与我相关
我的任务
分享
public class MessageProbe {
private Map<String, Serializable> returnValue;
private CountDownLatch latch = new CountDownLatch(1);
public Map<String, Serializable> await() throws InterruptedException {
latch.await();
return returnValue;
}
public Map<String, Serializable> await(long timeout)
throws InterruptedException, TimeoutException {
boolean noTimeout = false;
noTimeout = latch.await(timeout, TimeUnit.MILLISECONDS);
if (noTimeout) {
return returnValue;
} else {
throw new TimeoutException("Response message timed out.");
}
}
public void obtainRetunValue(Map<String, Serializable> value) {
returnValue = value;
latch.countDown();
}
}