ActiveMQ使用STOMP协议的一个错误问题:Unexpected ACK received for message-id
2013-08-21 21:47
555 查看
使用某些语言环境下的stomp包(比如php python ruby),可能会出现如下问题:
Unexpected ACK received for message-id
这一般可能有两个原因。
1、没有按顺序发送ack,导致ActiveMQ认为你是发错了。
解决办法
1) 按顺序发ack
2) 设置为客户端独立确认模式(client-individual ack)
参见: (http://issues.apache.org/activemq/browse/AMQ-1874)
2、frame header的格式不对导致的。
一般都是多余的空格、\r 之类的。
stomp 1.0 规范时没要求,所以是合法的。
stomp 1.1 变严格了,这么写不合法,所以解析frame header出错。
解决办法:
1) 更新用的驱动包,看看是否解决了兼容性问题。
2) 修改源码,规范header的key-value拼接时,字符的合法性。
python的stomper在2.5+ fix了这个兼容性问题:
https://github.com/oisinmulvihill/stomper/commit/da64b9d76e39dfe899ded7ab504af26f2842cb77
Unexpected ACK received for message-id
这一般可能有两个原因。
1、没有按顺序发送ack,导致ActiveMQ认为你是发错了。
解决办法
1) 按顺序发ack
2) 设置为客户端独立确认模式(client-individual ack)
参见: (http://issues.apache.org/activemq/browse/AMQ-1874)
2、frame header的格式不对导致的。
一般都是多余的空格、\r 之类的。
stomp 1.0 规范时没要求,所以是合法的。
stomp 1.1 变严格了,这么写不合法,所以解析frame header出错。
解决办法:
1) 更新用的驱动包,看看是否解决了兼容性问题。
2) 修改源码,规范header的key-value拼接时,字符的合法性。
python的stomper在2.5+ fix了这个兼容性问题:
https://github.com/oisinmulvihill/stomper/commit/da64b9d76e39dfe899ded7ab504af26f2842cb77
相关文章推荐
- ActiveMQ使用STOMP协议的一个错误问题:Unexpected ACK received for message-id
- 今天使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
- 一个关于WCF调用远程链接返回405错误不允许使用此方法的问题
- (转载) socket:10038错误{winSock的一个bug:当closesocket多次错误使用时会导致问题}
- SHBrowseForFolder的使用,获取其中一个button的ID
- message ids for this class must be manually assigned before calling save(): ID 的问题
- 〔问题〕Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询
- 使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
- C# WCF WinCE 解决方案 错误提示之:已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性
- 在使用JdbcTemplate.queryForMap(String )的时候发现一个问题.
- 关于virtualbox不能为虚拟电脑启动一个新任务报错 GetLastError=1790(其他错误id也可以一试)的问题
- 今天使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
- IIS网站问题-内部服务器错误-没有权限查看该目录或页-必须使用一个可更新的查询
- 同时使用@IdClass @ManyToOne碰到的一个问题
- [中间件] 消息处理利器 ActiveMQ 的介绍 & Stomp 协议的使用
- "执行SQL语句时出现问题操作必须使用一个可更新的查询"错误的解决方法
- 今天使用VS2015遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
- (转载) socket:10038错误{winSock的一个bug:当closesocket多次错误使用时会导致问题}
- 执行SQL语句时出现问题操作必须使用一个可更新的查询错误的解决方法
- 未知错误 ID:-2147467259 "操作必须使用一个可更新的查询"