Lua 中具有自定义属性的 STOMP

STOMP with custom properties in Lua

我试图在发布主题消息时将两个自定义属性放在 STOMP 消息头中,以便订阅者可以过滤消息。这是我发送到 ActiveMQ 5.14 以连接和发布的两个帧:

CONNECT
login: myUserName
passcode: myPassword

:实际字符串为CONNECT\nlogin: myUserName\npasscode: myPassword.

SEND
destination:/topic/myTopic

myTopicMessage

:实际字符串为SEND\ndestination:/topic/myTopic\n\nmyTopicMessage.

我应该如何将以下两对属性添加到上述字符串中?

package_code = ''
whse_code = 'MyWarehouse'

顺便说一句,我正在使用 lua 来实现它。

您可以使用 destination 使用的相同语法将属性添加到 SEND 框架,例如:

SEND
destination:/topic/myTopic
package_code:MyPackageCode
whse_code:MyWarehouse

myTopicMessage^@

如果 package_code(或任何其他 header)为空,请不要设置它。

其他一些细节值得注意:

疑难解答:

您可以通过以下步骤启用 STOMP 协议跟踪:

  • ActiveMQ 5.x:在STOMPtransportConnector上设置trace=true,例如:<transportConnector name="stomp" uri="stomp://localhost:61613?trace=true"/>。然后在 conf/log4j.properties
  • 中将 org.apache.activemq.transport.stomp.StompIO 记录器设置为 TRACE
  • ActiveMQ Artemis:在etc/logging.properties.
  • 中将记录器org.apache.activemq.artemis.core.protocol.stomp.StompConnection设置为DEBUG