Avoiding NPE for proxied beans upon context shutdown; fixes gh-340

This commit is contained in:
Marcin Grzejszczak
2018-03-20 13:50:59 +01:00
parent 514716763a
commit ec11d4bbfe

View File

@@ -466,7 +466,14 @@ public class GenericScope implements Scope, BeanFactoryPostProcessor,
return invocation.proceed();
}
Object proxy = getObject();
Lock lock = locks.get(this.targetBeanName).readLock();
ReadWriteLock readWriteLock = locks.get(this.targetBeanName);
if (readWriteLock == null) {
if (logger.isDebugEnabled()) {
logger.debug("For bean with name [" + this.targetBeanName + "] there is no read write lock. Will create a new one to avoid NPE");
}
readWriteLock = new ReentrantReadWriteLock();
}
Lock lock = readWriteLock.readLock();
lock.lock();
try {
if (proxy instanceof Advised) {