首页 > 编程知识 正文

rocketmq消息重试机制,java.lang.assertionerror

时间:2023-05-04 08:41:08 阅读:174781 作者:471

org.apache.httpcomponents

http客户端

4.5.1

HTTP客户端的异常分为两类

java.io.IOException

http扩展

其中,java.io.IOException认为是非致命的、可恢复的。 HttpException认为是致命的,不可恢复的。

对于java.io.IOException异常,必须实现http客户端提供的HttpRequestRetryHandler接口才能重试。

通过以下方式实现。

httprequestretryhandlermyretryhandler=newhttprequestretryhandler {

公共布尔结果请求(

io扩展扩展,

输入执行计数,

HttpContext context ) {

执行计数=5{ if }

//donotretryifovermaxretrycount

返回假;

}

扩展实例优先级扩展(if ) {

//Timeout

返回假;

}

exceptioninstanceofunknownhostexception (if ) (

//Unknown host

返回假;

}

扩展功能连接器(if ) {

//连接刷新

返回假;

}

可扩展机制(if ) {

//SSL handshake exception

返回假;

}

httpclientcontextclientcontext=http客户端上下文. adapt (context );

http request request=client context.getrequest (;

布尔识别=! (requestinstanceofhttpentityenclosingrequest;

if(idempotent

//retryiftherequestisconsideredidempotent

返回真;

}

返回假;

}

(;

closeablehttpclienthttpclient=http clients.custom (

. setretryhandler(myretryhandler ) )。

. build (;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。