ActiveMQ到Apollo转换,Openwire到Stomp协议配置

ActiveMQ到Apollo转换,Openwire到Stomp协议配置,activemq,messagebroker,apollo,Activemq,Messagebroker,Apollo,我正在尝试从ActiveMQ 5.6切换到Apollo 1.5。 我有两个软交换消息,使用发布/订阅主题 第一个是C++,使用了带有TCP 的OpenLead 第二种是Javascript,它与websockets一起使用stomp 有了ActiveMQ,一切都很好,我发送的消息可以在两个软件上读写,从那以后我就没有更改客户端 现在,我从C++软消息(使用OpenLoad)发送消息,并尝试用JS软文读取它们,并且我得到错误。事实上,我收到了标题内容类型为“protocol/openwire”

我正在尝试从ActiveMQ 5.6切换到Apollo 1.5。 我有两个软交换消息,使用发布/订阅主题

  • 第一个是C++,使用了带有TCP
  • 的OpenLead
  • 第二种是Javascript,它与websockets一起使用stomp
有了ActiveMQ,一切都很好,我发送的消息可以在两个软件上读写,从那以后我就没有更改客户端

现在,我从C++软消息(使用OpenLoad)发送消息,并尝试用JS软文读取它们,并且我得到错误。事实上,我收到了标题内容类型为“protocol/openwire”的消息,但我希望是stomp

以下是我如何配置apollo.xml连接器部分:

<connector id="tcp" bind="tcp://0.0.0.0:61613">
    <openwire max_inactivity_duration="-1" max_inactivity_duration_delay="-1" />
    <stomp max_header_length="10000" die_delay="-1" />
</connector>
<connector id="ws" bind="tcp://0.0.0.0:61623">
    <stomp max_header_length="10000" die_delay="-1" />
</connector>

我还尝试了在tcp和ws-connector中使用,它应该自动检测客户端协议,但也不起作用

有人能帮我弄清楚吗

谢谢,


编辑:

我发现我确实收到stomp协议消息,但它们的格式非常奇怪,甚至包含非文本字符,这使得stomp.js无法解析消息并正确填充消息体

这里是从ActudioQ OpenLoad和Apple OnLoad中接收到的同一个C++发布者和JS订阅服务器的消息:

activemq

"MESSAGE message-id:ID:myID-61443-1352999572576-0:0:0:0:0 class:Message.PointToPoint destination:/topic/my-topic timestamp:1352999626186 expires:0 subscription:sub-0 priority:4 <PointToPoint xmlns="Message" ><SourceId>u_23</SourceId><TargetId>u_75</TargetId></PointToPoint>" “信息 消息id:id:myID-61443-13529995726-0:0:0:0 类:Message.PointToPoint 目的地:/topic/my topic 时间戳:1352999626186 过期日期:0 订阅:sub-0 优先次序:4 u_23u_75“ 阿波罗

"MESSAGE subscription:sub-0 destination: content-length:331 content-type:protocol/openwire message-id:xps-broker-291 Eç{#ID:myID-61463-1352999939140-0:0emy-topicn{#ID:myID-61463-1352999939140-0:0; Å??<PointToPoint xmlns="Message" ><SourceId>u_23</SourceId><TargetId>u_75</TargetId></PointToPoint>(class Message.PointToPoint " “信息 订阅:sub-0 目的地: 内容长度:331 内容类型:协议/openwire 消息id:xps-broker-291 EçID:myID-61463-135299939140-0:0emy-topicn{ID:myID-61463-135299939140-0:0;Åu_23u_75(类Message.PointToPoint) "
您认为这可能是Apollo的问题吗?

ActiveMQ 5.6处理将逻辑OpenWire消息转换为STOMP客户端的文本表示。Apollo目前还不支持该功能!:(请参阅:


它只需要完整的openwire消息,并将其用作STOMP消息的主体。顺便说一句,只要内容长度标题设置正确,在STOMP消息中使用二进制数据是完全有效的。

感谢您的回答。我昨天检查了jira,但没有票证,我不确定是否应该创建一个。感谢您的帮助我喜欢它。