一、该问题的重现步骤是什么?
1. MCP输入一个不可达的地址,例如baidu:8888.com进行调试
二、你期待的结果是什么?实际看到的又是什么?
1.期待多次进行地址请求打到一定次数后,不要再请求了,实际是,死循环,一直不停请求
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
无限重连这是langchain4j底层的设定,如果要修改记数,你可以创建一个类继承 DefaultMcpClient , 新的类里进行reconnect的时候进行记数判断,超过10就终止。然后代码里通过 DefaultMcpClient 构建的类,用你新创建的构建就行了。他俩都实现了McpClient的接口,所以其他地方的代码都不需要修改。
针对这个回复有两个疑问
(1)用我自己新的继承类,能停掉这个重连吗
(2)然后提供的建议是(新的类里进行reconnect的时候进行记数判断,超过10就终止)终止的也只是主程序吧,无限重连的问题还是没有解决对吗?
自定义的类里面的逻辑你想怎么写就可以怎么写,你代码里给他终止了就不会再重试了,比如最小改动,你把自定义类里拷贝过来的 transport.onFailure 方法重写一下,就不会无限重连了,不要调用 initialize 方法,直接log.err就可以
扫一扫访问 Blade技术社区 移动端