开发者

解决@Async(“taskExecutor“)异步线程报错问题

目录
  • @Async(“taskExecutor“)异步线程报错
  • 来说说解决办法
    • 1.将当前线程的请求信息给子线程
    • 2.将请求头设置为子线程共享
  • 总结

    @Async(“taskExecutor“)异步线程报错

    Java 开发中常用@Async实现异步线程调用,以优化接口性能。

    但是@Async存在一个问题:子线程的请求头丢android失,在本服务没有问题,一旦跨服务,请求头丢失就会发生一系列报错

    上代码:

    解决@Async(“taskExecutor“)异步线程报错问题

    javascript代码所示,此处使用了@Async实现异步

    解决@Async(“taskExecutor“)异步线程报错问题

    php中build方法使用fegin调用外部接口

    报错信息:

    解决@Async(“taskExecutor“)异步线程报错问题

    报75行空指针,也就是build方法所在。

    跟着报错提示,我们点开看下具编程UyjPYIH体是什么报错

    解决@Async(“taskExecutor“)异步线程报错问题

    可以看到是getHeaders()方法报了空指针,也就是说请求头丢失

    来说说解决办法

    1.将当前线程的请求信息给子线程

    解决@Async(“taskExecutor“)异步线程报错问题

    解决@Async(“taskExecutor“)异步线程报错问题

    2.将请求头设置为子线程共享

    解决@Async(“taskExecutor“)异步线程报错问题

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜