我在 WSO2 上发布了新服务,然后我在 DevPortal 上进行订阅并在 DevPortal 上进行 API 测试然后我得到 404 - Not found API 错误: Carbon 日志:“错误:404 / 消息发送到主序列。无效的 URL。,RESOURCE = /internal/***,健康检查 URL”
然后我根据stackoverflow上的一些评论尝试重启WSO2,服务正常运行。
然而,在对服务没有任何影响的大约一周后,服务一直报404错误。或者有时当我尝试发布新服务时,我会收到 404 错误。我做的解决方案是重启 wso2 ..
但是这是一个生产环境所以不可能经常重启WSO2
根据搜索问题是控制平面(CP)和网关(GW)之间的JMS连接。
有什么方法可以检查 CP 和 GW 之间的 JMS 连接吗?或者哪里有 JMS 连接日志?请协助我解决问题。
衷心感谢,
如果在 CP 和 GW 之间建立 JMS 连接时出现问题,碳日志中应该会记录类似于以下内容的多个错误。
WARN - DataEndpointGroup No receiver is reachable at URL Endpoint/Endpoints
ERROR - DataEndpointConnectionWorker Error while trying to connect to the endpoint. Cannot borrow client for ssl://172.16.2.63:9711
此外,您可以通过为网关监听程序包启用调试日志来检查网关接收到的事件。
将以下记录器添加到
logger.jms_listner.name = org.wso2.carbon.apimgt.gateway.listeners
logger.jms_listner.level = DEBUG
并通过附加到以下列表,将此记录器与现有记录器一起使用。
loggers = jms_listner, AUDIT_LOG, trace-messages ...
这将记录网关接收到的有关 API 部署、订阅等的所有事件。当您在网关中部署 API 时,事件将从 CP 发布并从网关接收。如果网关未收到此事件,则可能会出现类似于您现在面临的情况的观察结果。因此验证事件是否被网关接收到。
网关收到的事件如下。
DEBUG - GatewayJMSMessageListener Event received in JMS Event Receiver - Body:
{"event":{"payloadData":{"eventType":"DEPLOY_API_IN_GATEWAY",
DEBUG - GatewayJMSMessageListener Event received in JMS Event Receiver - Body:
{"event":{"payloadData":{"eventType":"SUBSCRIPTIONS_CREATE",
我已经启用了jms log 并且会在部署新服务时监控更多。
@Lakshitha:你能给我解释一下为什么之前已经部署了服务,并且已经运行了大约一个星期的服务。之后,我完全没有影响这个服务。一段时间后,此服务也出现错误 404 - 未找到服务。
你能指导我如何追查原因吗?
衷心感谢,