没有 Rails 的 ActiveMessaging -- JMS 属性名称问题

发布于 2024-10-24 00:25:15 字数 1422 浏览 7 评论 0原文

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

我可以使用 telnet 与我的队列通信,但无法让 Ruby 正确与 StompConnect 通信。

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

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

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

其他人如何设法解决这个问题,从 Ruby 与 JMS 进行通信?提前致谢!

I've been trying to figure out how to send JMS messages from Ruby. I've setup StompConnect to interface between JMS and Ruby, using Stomp on the Ruby side.

I can talk to my queues using telnet, but was having trouble getting Ruby to speak to StompConnect properly.

Now I'm attempting to use ActiveMessaging to do the communication piece, and I have written my own poller script. The following error message is thrown after the queue is created and the message is sent:

=> Subscribing to /queue/HelloWorld (processed by ApplicationProcessor)
No-one responded to "[C4043]: Illegal character used in property name - -"}' body='javax.jms.JMSException: [C4043]: Illegal character used in property name - -
at top level in at com.sun.messaging.jmq.jmsclient.MessageImpl.checkValidPropertyName(MessageImpl.java at line 757
at top level in at com.sun.messaging.jmq.jmsclient.MessageImpl.checkAndSetProperty(MessageImpl.java at line 821
at top level in at com.sun.messaging.jmq.jmsclient.MessageImpl.setObjectProperty(MessageImpl.java at line 2054
at top level in at org.codehaus.stomp.jms.StompSession.copyStandardHeadersFromFrameToMessage(StompSession.java at line 234
at top level in at org.codehaus.stomp.jms.StompSession.convertFrame(StompSession.java at line 257
at top level in at org.codehaus.stomp.jms.StompSession.sendToJms(StompSession.java at line 69
at top level in at org.codehaus.stomp.jms.ProtocolConverter.onStompSend(ProtocolConverter.java at line 260
at top level in at org.codehaus.stomp.jms.ProtocolConverter.onStompFrame(ProtocolConverter.java at line 132
at top level in at org.codehaus.stomp.tcp.TcpTransport.run(TcpTransport.java at line 131
at top level in at java.lang.Thread.run(Thread.java at line 680
' >

Now, there isn't a '-' in any property that I'm setting. Is this maybe an issue with the Stomp library itself? This is more or less the same problem I was running into trying to talk to StompConnect from Ruby in the first place.

How are others managing to get around this, communicating with JMS from Ruby? Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青柠芒果 2024-10-31 00:25:15

是的,似乎您的服务器不允许在属性名称中包含“-”。您可能想尝试一下 apache apollo stomp 服务器 。它没有这个限制。

Yeah seems like your server does not allow '-' in the property name. You might want to try out the apache apollo stomp server . It does not have that restriction.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文