zoukankan      html  css  js  c++  java
  • ActiveMQ使用STOMP协议的一个错误问题:Unexpected ACK received for message-id

    使用某些语言环境下的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的格式不对导致的。

    一般都是多余的空格、  之类的。
    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




  • 相关阅读:
    ios tableviewcontroller
    jsp第十次作业
    jsp第九次作业
    jsp第八次作业
    jsp第七次作业
    jsp第六次作业
    jsp第五次作业
    jsp第四周作业-2
    jsp第四周作业-1
    软件测试第四周作业
  • 原文地址:https://www.cnblogs.com/pangblog/p/3275670.html
Copyright © 2011-2022 走看看