一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Feign報(bào)錯(cuò)feign.RetryableException: too many bytes written executing...

 ygabg2pf4rzd4x 2022-11-16 發(fā)布于福建

Feign報(bào)錯(cuò)feign.RetryableException: too many bytes written executing

SpringCloud Feign調(diào)用報(bào)錯(cuò)feign.RetryableException: too many bytes written executing

版本:

SpringCloud : Greenwich.SR5

SpringBoot : 2.1.9.RELEASE

SpringCloudAlibaba : 2.1.0.RELEASE

看到這個(gè)錯(cuò)誤第一時(shí)間我也是打開百度/Goole 但是搜出來的,無一例外 基本都是添加feign增強(qiáng)包 feign-httpclient 或者feign-okhttp 包;

無奈之下只好一步步debug 發(fā)現(xiàn)是把request.body 寫入到流時(shí)發(fā)生的錯(cuò)誤.java.io.IOException: insufficient data written

后面搜到body是跟Content-Length 有關(guān)系的… 附上博主鏈接 https://my.oschina.net/u/4410077/blog/3323588 看了之后 原來發(fā)生這個(gè)問題的原因跟我一樣,因?yàn)榉?wù)之間調(diào)用需要攜帶一些用戶信息之類的 所以實(shí)現(xiàn)了Feign的RequestInterceptor攔截器復(fù)制請(qǐng)求頭,復(fù)制的時(shí)候是所有頭都復(fù)制的,可能導(dǎo)致Content-length長(zhǎng)度跟body不一致. 所以只需要判斷如果是Content-length就跳過

原配置 :

/**
 * @author Joe
 * createTime 2020/06/10 18:13
 */
@Log4j2
@Configuration
public class FeignConfiguration implements RequestInterceptor {


    @Override
    public void apply(RequestTemplate template) {
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder
                .getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        Enumeration<String> headerNames = request.getHeaderNames();
        if (headerNames != null) {
            while (headerNames.hasMoreElements()) {
                String name = headerNames.nextElement();
                String values = request.getHeader(name);
                template.header(name, values);
            }
        } else {
            log.info("feign interceptor error header:{}", template);
        }
    }
}

修改之后:

/**
 * @author Joe
 * createTime 2020/06/10 18:13
 */
@Log4j2
@Configuration
public class FeignConfiguration implements RequestInterceptor {


    @Override
    public void apply(RequestTemplate template) {
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder
                .getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        Enumeration<String> headerNames = request.getHeaderNames();
        if (headerNames != null) {
            while (headerNames.hasMoreElements()) {
                String name = headerNames.nextElement();
                String values = request.getHeader(name);
                // 跳過 content-length
                if (name.equals("content-length")){
                    continue;
                }
                template.header(name, values);
            }
        } else {
            log.info("feign interceptor error header:{}", template);
        }
    }
}

content-length詳解參考文章 :https:///post/5d772cb4e51d453b5f1a0502

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    免费在线成人激情视频| 九九视频通过这里有精品| 国产中文字幕久久黄色片| 欧美精品一区二区三区白虎| 日韩欧美三级视频在线| 天堂网中文字幕在线视频| 国产精品一区二区有码| 久久三级国外久久久三级| 麻豆91成人国产在线观看| 久久中文字人妻熟女小妇| 国产精品免费自拍视频| 91亚洲国产日韩在线| 日本加勒比中文在线观看| 久久精品偷拍视频观看| 久久热麻豆国产精品视频| 麻豆一区二区三区精品视频| 激情综合五月开心久久| 日韩黄色大片免费在线| 五月婷婷六月丁香狠狠| 亚洲欧美国产网爆精品| 精品国产丝袜一区二区| 午夜传媒视频免费在线观看| 中文字幕一区二区久久综合| 亚洲午夜福利视频在线| 肥白女人日韩中文视频| 国产高清一区二区不卡| 欧美激情一区=区三区| 一区二区三区免费公开| 日韩国产精品激情一区| 一区二区欧美另类稀缺| 色婷婷亚洲精品综合网| 日本人妻免费一区二区三区| 欧美一级黄片免费视频| 久久久精品日韩欧美丰满| 丝袜诱惑一区二区三区| 国产精品十八禁亚洲黄污免费观看 | 久热在线视频这里只有精品| 亚洲中文在线中文字幕91| 亚洲永久一区二区三区在线| 中文字幕亚洲人妻在线视频| 亚洲欧美日本国产有色|