如何从python stomp发送二进制消息到ActiveMQ

时间:2019-02-08 16:23:21

标签: jms activemq stomp

我正在尝试让Python stomp客户端通过ActiveMQ向JVM发送二进制消息,我需要将其作为JMS BytesMessage,但它以TextMessage的形式出现。

我想应该有可能,因为我可以做相反的事情(从JVM到Python),但是不确定如何做。

有人知道这个窍门吗?

2 个答案:

答案 0 :(得分:2)

您需要在发送的STOMP消息上设置content-length头,以便将其转换为JMS BytesMessage。请参阅ActiveMQ STOMP documentation的“使用JMS文本/字节消息和踩踏”一节。

答案 1 :(得分:0)

stomp.Connection.send() 始终指定内容长度标头。 您需要添加 stomp.Connection(auto_content_length=False), 因为默认值是 stomp.Connection(auto_content_length=True),它只为字节消息而不是字符串消息指定内容长度标头。