springboot接收mq的消息自动转为ascii码

通过  @JmsListener 接收MQ消息,自己给自己发消息时接收的消息是正常的,但是接收python发的mq消息时自动转成ascii,打开8161端口查看mq消息展示是正常的,

发现mq是有几种消息类型,但是8161展示没说这是什么消息类型。

自己加个MessageConvert好像也不起作用,

又怀疑是我拿到的就已经被转了一次,遂往发送的地方进行排查,本来想着实在找不到原因就让大家统一转成byte数组发送BytesMessage算了

后来发现恰恰是这个问题。。。

 ActiveMQ (apache.org) 

读取源码发现原来activeMQ对接python的stomp框架时是可以设置消息类型的,当请求头设置了content-length时发送ByteMessage,没有设置则为TextMessage,由于发送的是json字符串自然是TextMessage方便处理,所以可以在stomp连接时设置content-length为false就可以了

还有就是幸好发现了这个文章

https://blog.csdn.net/qq_28859405/article/details/91382228

另外发现收到的中文被转义过

发现是 python 的 json.dumps方法可以设置参数 ensure_ascii=False 就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值