RabbitMQ:客户端发送纯文本,服务器将其视为base64

时间:2018-09-05 10:45:33

标签: java encoding character-encoding rabbitmq

我正在使用Java amqp-client:4.1.0和RabbitMq服务器3.7.6,我曾经将纯文本消息发布到Rabbitmq(实际的有效负载逻辑内容是XML BTW,其中有些甚至无效)。

问题是: 在管理门户中,当我尝试获取消息时,可以看到某些文本是按预期的纯文本格式,而其他消息则是base64编码的(并非所有的base64消息都可以解码)(为什么!)。

没有其他发布者发送给同一个人,因此我是唯一的发布者。

我正在使用以下代码:

Channel myChannel = conn.createChannel();

Map<String, Object> props = new HashMap();
props.put("x-max-length-bytes", 90000000l);
myChannel.queueDeclareNoWait("my-queue", false, false, false, props);

myChannel.basicPublish("", "my-queue", new AMQP.BasicProperties.Builder()
                        .contentType("text/plain")
                        .contentEncoding("utf-8")
                        .deliveryMode(1)
                        .priority(1)
                        .build()
    , msg.getBytes());

我在这里想念什么?

0 个答案:

没有答案