@SuppressWarnings("rawtypes") public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (org.springframework.aop.framework.Advised.class.isInstance(bean)) { org.springframework.aop.framework.Advised advised = (org.springframework.aop.framework.Advised) bean; Class<?> targetClass = advised.getTargetClass(); Compensable compensable = targetClass.getAnnotation(Compensable.class); if (compensable == null) { return bean; } Field[] fields = targetClass.getDeclaredFields(); for (int i = 0; fields != null && i < fields.length; i++) { Field field = fields[i]; Reference reference = field.getAnnotation(Reference.class); if (reference == null) { continue; } ReferenceBean referenceConfig = new ReferenceBean(reference); this.validateReferenceBean(beanName, referenceConfig); } } return bean; }
ReferenceBean<T> referenceBean = new ReferenceBean<T>(reference); if ((reference.interfaceClass() == null || reference.interfaceClass() == void.class) && (reference.interfaceName() == null || "".equals(reference.interfaceName()))) {
@Override protected ReferenceBean doBuild() { return new ReferenceBean<Object>(); }
/** 获取Dubbo服务 */ public static Object refer(ApplicationContext applicationContext, String interfaceName) { String key = "/" + interfaceName + ":"; ReferenceBean<?> referenceConfig = referenceConfigs.get(key); if (referenceConfig == null) { referenceConfig = new ReferenceBean<Object>(); referenceConfig.setInterface(interfaceName); if (applicationContext != null) { referenceConfig.setApplicationContext(applicationContext); try { referenceConfig.afterPropertiesSet(); } catch (Exception e) { throw new IllegalStateException(e.getMessage(), e); } } referenceConfigs.putIfAbsent(key, referenceConfig); referenceConfig = referenceConfigs.get(key); } return referenceConfig.get(); } }
ReferenceBean<?> referenceConfig = referenceConfigs.get(key); if (referenceConfig == null) { referenceConfig = new ReferenceBean<Object>(reference); if (void.class.equals(reference.interfaceClass()) && "".equals(reference.interfaceName())
ReferenceBean<?> referenceConfig = referenceConfigs.get(key); if (referenceConfig == null) { referenceConfig = new ReferenceBean<Object>(reference); if (void.class.equals(reference.interfaceClass()) && "".equals(reference.interfaceName())
ReferenceBean<?> referenceConfig = referenceConfigs.get(key); if (referenceConfig == null) { referenceConfig = new ReferenceBean<Object>(reference); if (void.class.equals(reference.interfaceClass()) && "".equals(reference.interfaceName())
ReferenceBean<?> referenceConfig = referenceConfigs.get(key); if (referenceConfig == null) { referenceConfig = new ReferenceBean<Object>(reference); if (void.class.equals(reference.interfaceClass()) && "".equals(reference.interfaceName())