RocketMQ发送消息报错 The name or value of property can not be null or blank string!

Posted 抓手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RocketMQ发送消息报错 The name or value of property can not be null or blank string!相关的知识,希望对你有一定的参考价值。

异常日志:

org.springframework.messaging.MessagingException: The name or value of property can not be null or blank string!; nested exception is java.lang.IllegalArgumentException: The name or value of property can not be null or blank string!
at org.apache.rocketmq.spring.core.RocketMQTemplate.syncSend(RocketMQTemplate.java:534)
at org.apache.rocketmq.spring.core.RocketMQTemplate.syncSend(RocketMQTemplate.java:466)
at org.apache.rocketmq.spring.core.RocketMQTemplate.syncSend(RocketMQTemplate.java:454)
at org.apache.rocketmq.spring.core.RocketMQTemplate.doSend(RocketMQTemplate.java:850)
at org.apache.rocketmq.spring.core.RocketMQTemplate.doSend(RocketMQTemplate.java:53)
at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:108)
 

报错源码在org.apache.rocketmq.common.message.Message

    public void putUserProperty(String name, String value) 
        if (MessageConst.STRING_HASH_SET.contains(name)) 
            throw new RuntimeException(String.format("The Property<%s> is used by system, input another please", name));
         else if (value != null && !value.trim().isEmpty() && name != null && !name.trim().isEmpty()) 
            this.putProperty(name, value);
         else 
            throw new IllegalArgumentException("The name or value of property can not be null or blank string!");
        
    

原因是putUserProperty()方法传参含有空值

以上是关于RocketMQ发送消息报错 The name or value of property can not be null or blank string!的主要内容,如果未能解决你的问题,请参考以下文章

rocketmq批量消息投递

RocketMq实现延时队列

RocketMQ发消息连接失败之指定borker的ip地址

三.RocketMQ极简入门-RocketMQ普通消息发送

六.RocketMQ极简入门-RocketMQ消息批量发送

RocketMQ(10)——发送延时消息