自定义负载均衡 ServletRequestAttributes 有时候为null

自定义负载均衡策略

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请求,就没有值

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632