Activemqcpp 在接收设置了TTL的消息时候,出现receive timeout接收不到消息的问题
2011-12-30 11:00
316 查看
问题描述:
有一个消息的生产者,向Activemq发送带有存活时候ttl的消息。然后另外一个consumer通过receive读取消息。最后发现在读取几条消息后就出现超时读取不到消息。
问题原因:
因为,activemq server和activemq client两台机器时间不同步造成的。client的系统时间大于server的,所以当client用本地时间去请求消息的时候,服务器比较消息时间和client时间发现client时间远远大于消息的TTL,所以默认这些消息对于这个client都是超时的,从而不再接收这些消息。
解决方案:
提高消息的TTL,还有就是同步server和client的机器时间
推荐第二个方案。
有一个消息的生产者,向Activemq发送带有存活时候ttl的消息。然后另外一个consumer通过receive读取消息。最后发现在读取几条消息后就出现超时读取不到消息。
问题原因:
因为,activemq server和activemq client两台机器时间不同步造成的。client的系统时间大于server的,所以当client用本地时间去请求消息的时候,服务器比较消息时间和client时间发现client时间远远大于消息的TTL,所以默认这些消息对于这个client都是超时的,从而不再接收这些消息。
解决方案:
提高消息的TTL,还有就是同步server和client的机器时间
推荐第二个方案。
相关文章推荐
- 即时通讯(IM)在用xmpp做通讯的时候,离线消息总是从第二条开始接收,第一条总是有丢消息的问题
- Sql server2012连接Sql server 2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误。(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。)
- Eventbus接收不到消息问题
- ActiveMQ5.3的接收不到消息的问题
- STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题
- delphi 使用工控机控件 iThreadTimes 出现问题, 导致主程序创建页面的时候, 阻塞消息, 不能正常执行。
- 配置redis的时候出现了设置密码而不生效的问题
- STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和不能接收数据问题讨论
- springmvc整合mybaits导入activemq jar包出现的问题
- GROUP BY 与count(*) 连用的时候出现问题,读不到数据
- spring+activeMq搭建出现的问题
- (转载)MSSQL:Sql server2012连接Sql server 2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误。(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。) - Empty.
- VB中多个Winsock连续发送出现接收不到的异常问题解决方法
- 使用jrtp时,发送方接收不到对方的RTCP包的问题,是因为接收方没有设置目的地址
- Jcms模板设参时候,设置完某个标签单元后,模板刷新出现500错误问题解决方法。
- PHP操作RabbitMQ消息接收不到的问题【cannot publish to internal exchange 'push-apns' in vhost 'pushHost】
- UDP通讯的接收超时问题(receiveTimeout)
- jms+spring+activemq配置(发送和接收消息)
- iOS WKWebView ios9以上版本配置 与 设置UserAgent(用户代理), 解决点击web, 客户端接收不到web事件问题
- 关于百度云、极光的推送的问题,为什么控制台发送消息成功,而手机端接收不到消息