Class LoadBalancerClientFactory
java.lang.Object
org.springframework.cloud.context.named.NamedContextFactory<LoadBalancerClientSpecification>
org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory
- All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.DisposableBean, org.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer.Factory<org.springframework.cloud.client.ServiceInstance>, org.springframework.context.ApplicationContextAware
public class LoadBalancerClientFactory
extends org.springframework.cloud.context.named.NamedContextFactory<LoadBalancerClientSpecification>
implements org.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer.Factory<org.springframework.cloud.client.ServiceInstance>
A factory that creates client, load balancer and client configuration instances. It
creates a Spring ApplicationContext per client name, and extracts the beans that it
needs from there.
- Author:
- Spencer Gibb, Dave Syer, Olga Maciaszek-Sharma
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.cloud.context.named.NamedContextFactory
org.springframework.cloud.context.named.NamedContextFactory.Specification -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionLoadBalancerClientFactory(org.springframework.cloud.client.loadbalancer.LoadBalancerClientsProperties properties) LoadBalancerClientFactory(org.springframework.cloud.client.loadbalancer.LoadBalancerClientsProperties properties, Map<String, org.springframework.context.ApplicationContextInitializer<org.springframework.context.support.GenericApplicationContext>> applicationContextInitializers) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer<org.springframework.cloud.client.ServiceInstance> getInstance(String serviceId) static StringgetName(org.springframework.core.env.Environment environment) org.springframework.cloud.client.loadbalancer.LoadBalancerPropertiesgetProperties(String serviceId) withApplicationContextInitializers(Map<String, Object> applicationContextInitializers) Methods inherited from class org.springframework.cloud.context.named.NamedContextFactory
buildContext, createContext, destroy, generateDisplayName, getAnnotatedInstance, getConfigurations, getContext, getContextNames, getInstance, getInstance, getInstance, getInstances, getLazyProvider, getParent, getProvider, registerBeans, setApplicationContext, setConfigurationsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer.Factory
getInstance, getInstances
-
Field Details
-
NAMESPACE
-
PROPERTY_NAME
Property for client name within the load balancer namespace.- See Also:
-
-
Constructor Details
-
LoadBalancerClientFactory
public LoadBalancerClientFactory(org.springframework.cloud.client.loadbalancer.LoadBalancerClientsProperties properties) -
LoadBalancerClientFactory
-
-
Method Details
-
getName
-
getInstance
public org.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer<org.springframework.cloud.client.ServiceInstance> getInstance(String serviceId) - Specified by:
getInstancein interfaceorg.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer.Factory<org.springframework.cloud.client.ServiceInstance>
-
getProperties
public org.springframework.cloud.client.loadbalancer.LoadBalancerProperties getProperties(String serviceId) - Specified by:
getPropertiesin interfaceorg.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer.Factory<org.springframework.cloud.client.ServiceInstance>
-
withApplicationContextInitializers
public LoadBalancerClientFactory withApplicationContextInitializers(Map<String, Object> applicationContextInitializers)
-