自定义负载均衡策略
public class MyLoadBalancer implements ReactorServiceInstanceLoadBalancer {
private Response<ServiceInstance> getInstanceResponse(List<ServiceInstance> instances,Request request) {
//......
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//......
}
}
想要通过上面的代码获取ServletRequestAttributes,微服务间相互调用时一般也可以正常获取到,但是有一个微服务在程序启动后,通过ApplicationRunner开启了一个线程,每10S循环请求另一个微服务,就导致通过上面的代码获取ServletRequestAttributes有时候为null的情况。
没有reuqest请求,就没有值
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!