private void serviceIdContextInit() { namedContextFactory.destroy(); // initializer each spring context for service id MigrateProxyManager.getServicesId().forEach(serviceId -> namedContextFactory .getInstance(serviceId, ILoadBalancer.class)); }
@SuppressWarnings("unchecked") private ObjectProvider<T> delegate() { if (this.provider == null) { provider = this.clientFactory.getProvider(name, type); } return provider; } }
public <T> ObjectProvider<T> getLazyProvider(String name, Class<T> type) { return new ClientFactoryObjectProvider<>(this, name, type); }
public <T> ObjectProvider<T> getProvider(String name, Class<T> type) { AnnotationConfigApplicationContext context = getContext(name); return context.getBeanProvider(type); }
@Override public T getObject(Object... args) throws BeansException { return delegate().getObject(args); }
public <T> T getInstance(String name, Class<?> clazz, Class<?>... generics) { ResolvableType type = ResolvableType.forClassWithGenerics(clazz, generics); return getInstance(name, type); }
public void setConfigurations(List<C> configurations) { for (C client : configurations) { this.configurations.put(client.getName(), client); } }
protected AnnotationConfigApplicationContext getContext(String name) { if (!this.contexts.containsKey(name)) { synchronized (this.contexts) { if (!this.contexts.containsKey(name)) { this.contexts.put(name, createContext(name)); } } } return this.contexts.get(name); }
public <T> T getInstance(String name, Class<T> type) { AnnotationConfigApplicationContext context = getContext(name); if (BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, type).length > 0) { return context.getBean(type); } return null; }
@Override public Spliterator<T> spliterator() { return delegate().spliterator(); }
public <T> Map<String, T> getInstances(String name, Class<T> type) { AnnotationConfigApplicationContext context = getContext(name); if (BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context, type).length > 0) { return BeanFactoryUtils.beansOfTypeIncludingAncestors(context, type); } return null; }
@Override public void ifAvailable(Consumer<T> dependencyConsumer) throws BeansException { delegate().ifAvailable(dependencyConsumer); }
@Override public T getIfUnique(Supplier<T> defaultSupplier) throws BeansException { return delegate().getIfUnique(defaultSupplier); }
@Override public T getObject() throws BeansException { return delegate().getObject(); }
@Override public void forEach(Consumer<? super T> action) { delegate().forEach(action); }
@Override public T getIfAvailable(Supplier<T> defaultSupplier) throws BeansException { return delegate().getIfAvailable(defaultSupplier); }
@Override public void ifUnique(Consumer<T> dependencyConsumer) throws BeansException { delegate().ifUnique(dependencyConsumer); }
@Override public Iterator<T> iterator() { return delegate().iterator(); }
@Override public Stream<T> stream() { return delegate().stream(); }
@Override @Nullable public T getIfUnique() throws BeansException { return delegate().getIfUnique(); }