我正在尝试让Python stomp
客户端通过ActiveMQ向JVM发送二进制消息,我需要将其作为JMS BytesMessage
,但它以TextMessage
的形式出现。
我想应该有可能,因为我可以做相反的事情(从JVM到Python),但是不确定如何做。
有人知道这个窍门吗?
答案 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),它只为字节消息而不是字符串消息指定内容长度标头。