INNER CODE UNIT · Java
ContextSupport
chaokunyang/jkes · jkes-boot/jkes-spring-data-jpa/src/main/java/com/timeyang/jkes/spring/jpa/ContextSupport.java:14
public class ContextSupport implements ApplicationContextAware {
private final Object lock = new Object();
private volatile ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
synchronized (lock) {
this.applicationContext = applicationContext;
lock.notifyAll();
}
}
public Object getBean(String beanName) throws InterruptedException {
synchronized (lock) {
while(this.applicationContext == null)
lock.wait();