private Map<String, Map<String, Object>> buildReferencesMetadata( Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> injectedElementReferenceBeanMap) { Map<String, Map<String, Object>> referencesMetadata = new LinkedHashMap<>(); for (Map.Entry<InjectionMetadata.InjectedElement, ReferenceBean<?>> entry : injectedElementReferenceBeanMap.entrySet()) { InjectionMetadata.InjectedElement injectedElement = entry.getKey(); ReferenceBean<?> referenceBean = entry.getValue(); Map<String, Object> beanMetadata = resolveBeanMetadata(referenceBean); beanMetadata.put("invoker", resolveBeanMetadata(referenceBean.get())); referencesMetadata.put(String.valueOf(injectedElement.getMember()), beanMetadata); } return referencesMetadata; }
private void init() { this.bean = referenceBean.get(); } }
@Override public Object getObject() throws Exception { return get(); }
public Object getObject() throws Exception { return get(); }
public Object getObject() throws Exception { return get(); }
private Map<String, Map<String, Object>> buildReferencesMetadata( Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> injectedElementReferenceBeanMap) { Map<String, Map<String, Object>> referencesMetadata = new LinkedHashMap<>(); for (Map.Entry<InjectionMetadata.InjectedElement, ReferenceBean<?>> entry : injectedElementReferenceBeanMap.entrySet()) { InjectionMetadata.InjectedElement injectedElement = entry.getKey(); ReferenceBean<?> referenceBean = entry.getValue(); Map<String, Object> beanMetadata = resolveBeanMetadata(referenceBean); beanMetadata.put("invoker", resolveBeanMetadata(referenceBean.get())); referencesMetadata.put(String.valueOf(injectedElement.getMember()), beanMetadata); } return referencesMetadata; }
private Object buildReferenceBean(Reference reference, Class<?> referenceClass) throws Exception { String referenceBeanCacheKey = generateReferenceBeanCacheKey(reference, referenceClass); ReferenceBean<?> referenceBean = referenceBeansCache.get(referenceBeanCacheKey); if (referenceBean == null) { ReferenceBeanBuilder beanBuilder = ReferenceBeanBuilder .create(reference, classLoader, applicationContext) .interfaceClass(referenceClass); referenceBean = beanBuilder.build(); referenceBeansCache.putIfAbsent(referenceBeanCacheKey, referenceBean); } return referenceBean.get(); }
private Object buildReferenceBean(Reference reference, Class<?> referenceClass) throws Exception { String referenceBeanCacheKey = generateReferenceBeanCacheKey(reference, referenceClass); ReferenceBean<?> referenceBean = referenceBeansCache.get(referenceBeanCacheKey); if (referenceBean == null) { ReferenceBeanBuilder beanBuilder = ReferenceBeanBuilder .create(reference, classLoader, applicationContext) .interfaceClass(referenceClass); referenceBean = beanBuilder.build(); referenceBeansCache.putIfAbsent(referenceBeanCacheKey, referenceBean); } return referenceBean.get(); }
/** 获取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(); } }
referenceConfig = referenceConfigs.get(key); return referenceConfig.get();
referenceConfig = referenceConfigs.get(key); return referenceConfig.get();
referenceConfig = referenceConfigs.get(key); return referenceConfig.get();
referenceConfig = referenceConfigs.get(key); return referenceConfig.get();