admin管理员组

文章数量:1529446

1.在做项目遇到一下的问题,项目启动后过一会就报错Error when get cat router service, please contact cat support team for help

发送请求到项目的时候又报错NoClassDefFoundError

2.问题分析:

这个异常的根本原因是没有正确连接到 Cat 服务器。客户端如果没有找到 Cat 配置文件,则会去连接“org.cat”这个地址。Cat 客户端的配置很特殊,并不能通过 Spring Boot 的 properties文件或者环境变量来配置,它是通过特定目录下的 client.xml 文件来配置的。

而发送请求后报的错误NoClassDefFoundError就是因为DefaultMessageProducer类就是在cat-client下面,当这个类初始化出现问题时候,运行时候去获取这个类有可能有报NoClassDefFoundError错误,但是不要被这个错误误导了排查方向。

在 Windows 下,这个目录和启动进程在同一个磁盘分区下的 /data/appdatas/cat。如果集成 Cat 客户端的 Spring Boot 程序在 D 盘运行,那么client.xml 放的这个目录的地址就是:

D:\data\appdatas\cat

 

在 Linux 下,这个目录是:

/data/appdatas/cat

参考:在 Spring Boot 项目中集成 Apollo、Cat 的 java.UnknownHostException: org.cat 错误问题 | 比利鱼 (biliyu)

本文标签: routerServiceErrorcatteam