fix reference cache (#7412)
This commit is contained in:
parent
68fdea818c
commit
c3e432c298
|
|
@ -75,14 +75,6 @@ public class DubboConfigInitializationPostProcessor implements BeanPostProcessor
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
|
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
|
||||||
// try {
|
|
||||||
// if (bean instanceof ReferenceBean) {
|
|
||||||
// ReferenceBean referenceBean = (ReferenceBean) bean;
|
|
||||||
// referenceBeanManager.addReference(referenceBean);
|
|
||||||
// }
|
|
||||||
// } catch (Exception e) {
|
|
||||||
// throw new BeanInitializationException("Initialization reference bean failed", e);
|
|
||||||
// }
|
|
||||||
return bean;
|
return bean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -94,13 +94,13 @@ public class ReferenceBeanManager implements ApplicationContextAware {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public void prepareReferenceBeans() throws Exception {
|
public void prepareReferenceBeans() throws Exception {
|
||||||
for (ReferenceBean referenceBean : getReferences()) {
|
|
||||||
initReferenceBean(referenceBean);
|
|
||||||
}
|
|
||||||
|
|
||||||
// prepare all reference beans
|
// prepare all reference beans
|
||||||
Map<String, ReferenceBean> referenceBeanMap = applicationContext.getBeansOfType(ReferenceBean.class, true, false);
|
Map<String, ReferenceBean> referenceBeanMap = applicationContext.getBeansOfType(ReferenceBean.class, true, false);
|
||||||
for (ReferenceBean referenceBean : referenceBeanMap.values()) {
|
for (ReferenceBean referenceBean : referenceBeanMap.values()) {
|
||||||
|
addReference(referenceBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ReferenceBean referenceBean : getReferences()) {
|
||||||
initReferenceBean(referenceBean);
|
initReferenceBean(referenceBean);
|
||||||
}
|
}
|
||||||
initialized = true;
|
initialized = true;
|
||||||
|
|
|
||||||
|
|
@ -252,8 +252,8 @@ public class ReferenceAnnotationBeanPostProcessor extends AbstractAnnotationBean
|
||||||
|
|
||||||
beanDefinitionRegistry.registerBeanDefinition(referenceBeanName, beanDefinition);
|
beanDefinitionRegistry.registerBeanDefinition(referenceBeanName, beanDefinition);
|
||||||
getBeanFactory().registerSingleton(referenceBeanName, referenceBean);
|
getBeanFactory().registerSingleton(referenceBeanName, referenceBean);
|
||||||
|
//cache reference bean, avoid re-inject same element after prepare reference bean
|
||||||
//referenceBeanManager.addReference(referenceBean);
|
referenceBeanManager.addReference(referenceBean);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new Exception("Create dubbo reference bean failed", e);
|
throw new Exception("Create dubbo reference bean failed", e);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue