package jnpf.config; import jnpf.handler.ILoadBalancerHandler; import jnpf.handler.MyLoadBalancer; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.loadbalancer.core.ReactorLoadBalancer; import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier; import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import java.util.List; /** * 自定义负载均衡配置 * * @author JNPF开发平台组 * @version V3.5.0 * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com) * @date 2024-01-10 */ public class MyLoadBalancerConfig { @Bean public ReactorLoadBalancer reactorServiceInstanceLoadBalancer(Environment environment, LoadBalancerClientFactory loadBalancerClientFactory, List loadBalancers) { String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME); return new MyLoadBalancer( loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name, loadBalancers); } }