1

我一直在试图弄清楚如何从 Ruby 发送 JMS 消息。我在 Ruby 端使用 Stomp 将 StompConnect 设置为 JMS 和 Ruby 之间的接口。

我可以使用 telnet 与队列交谈,但无法让 Ruby 正确与 StompConnect 交谈。

现在我正在尝试使用 ActiveMessaging 进行通信,并且我已经编写了自己的 poller 脚本。创建队列并发送消息后,会抛出以下错误消息:

=> 订阅 /queue/HelloWorld(由 ApplicationProcessor 处理)没有人回应“[C4043]:属性名称中使用了非法字符 - -”}' body='javax.jms.JMSException:[C4043]:使用了非法字符在属性名称中 - - 在 com.sun.messaging.jmq.jmsclient.MessageImpl.checkValidPropertyName(MessageImpl.java 在 com.sun.messaging.jmq.jmsclient.MessageImpl.checkAndSetProperty(MessageImpl 的第 757 行的顶级.java 在 com.sun.messaging.jmq.jmsclient.MessageImpl.setObjectProperty(MessageImpl.java 在 org.codehaus.stomp.jms.StompSession.copyStandardHeadersFromFrameToMessage(StompSession.java) 的顶层第 821 行在 org.codehaus.stomp.jms.StompSession.convertFrame 的第 234 行(在 org.codehaus 的第 257 行的 StompSession.java。stomp.jms.StompSession.sendToJms(StompSession.java 在 org.codehaus.stomp.jms.ProtocolConverter.onStompSend 的第 69 行的顶层(在 org.codehaus.stomp.jms 的顶层第 260 行的 ProtocolConverter.java。协议转换器。第 680 行'>运行(第 680 行的 Thread.java '>运行(第 680 行的 Thread.java '>

现在,我设置的任何属性中都没有“-”。这可能是 Stomp 库本身的问题吗?这或多或少与我最初尝试从 Ruby 与 StompConnect 交谈时遇到的问题相同。

其他人如何通过 Ruby 与 JMS 通信来解决这个问题?提前致谢!

4

1 回答 1

1

是的,您的服务器似乎不允许在属性名称中使用“-”。你可能想试试apache apollo stomp server。它没有那个限制。

于 2011-03-21T17:42:01.927 回答