Gem ruby 如何获取 apache ActiveMQ 的 textMessage

dreamskyvt · 2013年03月18日 · 最后由 308820773 回复于 2019年03月21日 · 2957 次阅读

最近在使用 ActiveMQ,用于系统通讯的。从一个 rails 的系统,发送消息给 java 的系统。在 java 端写消息监听器的时候,出现了这样的情况,所获取的 message 类型总是 bytesMessage,而不是所期望的 textMessage。 rails 所使用的 lib 是 stomp。 尝试过在 header 里添加'type'=> 'textMessage',不管用。查看资料,说是 ruby stomp 总会给 header 中添加 content-length,而 header 中 content-length 的存在与否,决定了最后解析的 message 类型。 要拿到 message,我现在能想到的,只有两种办法:

  1. 扩展 ruby stomp 的源代码,让 content-length 为空。但是碰到更新感觉很头疼。
  2. java 接收端,直接从 bytesMessage 中取,本人不会,查阅了一会也没找到。

希望大神们指点下

3 楼 已删除

#1 楼 @lgn21st 额,不好意思,我现在是 java 端碰到无法解析的问题。。。

找到靠谱的文档了 ActiveMQBytesMessage bytesMessage = (ActiveMQBytesMessage) message; String text = new String(bytesMessage.getContent().getData()); 谢谢大神的支持

这是给 activeMq 发送消息,请问订阅 active MQ 的消息该如何实现呢

需要 登录 后方可回复, 如果你还没有账号请 注册新账号