消息队列控制台,点击“消费者状态”,如果显示“是否在线”为“否”,那么说明消费端没有启动或者启动失败。
注意:目前仅支持SDK(TCP)客户端查看消费者状态,使用HTTP, MQTT的客户端,不支持在控制台查看消费者状态。
如何启动消费端?
用户需要写代码来启动消费端。
控制台上提供了java, .net, c++版本的发送消息和消费消息的示例代码供参考(点击“查看代码”),建议用户使用下载sdk包中的example代码。
为了方便用户调试消费端程序,控制台提供了发送消息的功能,用户可在消费端运行后,借助这个功能来调试程序。
如果启动消费端程序后,点击“消费者状态”,发现还是不在线,说明启动失败,请检查以下信息:
ak, sk是否书写正确
consumerID,topic信息是否书写正确
如果不是聚石塔用户,请将这行代码注释掉(如果示例代码中有)
factoryInfo.setOnsChannel(ONSChannel.CLOUD);
使用c++, .net的消费端,请检查sleep(N), N值是否足够大
pConsumer.start()后,主线程需要sleep(N),等不需要再消费时,再执行pConsumer.shutdown()。执行shutdown后,消费者的状态就会变为“当前订阅组未在线”。
N值多大合适?根据用户的业务需要来决定。
是否违背消息队列限制规则【点此查看】
如果问题依旧,请查看sdk日志中是否有ERROR异常抛出。
sdk日志路径如下:
java $userhome/logs/ons.log 如果没有日志,请【点此查看】。
非java $userhome/logs/metaq-client4cpp/xxx.log
(如果是windows, 运行cmd, 看进入了哪个目录,此目录就是$userhome)。
如果问题还未能解决,请提供完整sdk日志,联系售后技术支持。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。