tsth_xcs 2021-07-08 14:27 采纳率: 100%
浏览 62
已结题

自定义负载均衡 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的情况。

  • 写回答

2条回答 默认 最新

  • 关注

    没有reuqest请求,就没有值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月24日
  • 已采纳回答 4月24日