RocketMQTemplate发送带属性的消息,putUserProperty设置,keys设置

RocketMQ,RocketMQTemplate,putUserProperty,发送带属性的消息
消费者需要利用sql92过滤消息,首先修改broker配置文件;
添加
enablePropertyFilter=true 配置;
重新启动broker;启动命令
nohup sh mqbroker -n localhost:9876 -c …/conf/broker.conf &

生产者代码编辑:

 for (int i=0;i<100;i++){
            Map<String, Object> headers = new HashMap<>();
            headers.put("KEYS","hello");
            headers.put("age",i);
            User user = new User();
            user.setAge(i);
            template.convertAndSend("testTopic:b",user,headers);
        }

KEYS传入消息的key,有需要的同学 可以传。

age 为自定义属性,用于消费者利用sql92过滤使用。
消费者代码示例:

@Slf4j
@Component
@RocketMQMessageListener(topic = "testTopic",consumerGroup = "myGroup2",consumeThreadMax = 1,selectorType= SelectorType.SQL92,selectorExpression = "age>30")
public class Consumer implements RocketMQListener<User> {
    @Override
    public void onMessage(User user) {
        log.info("myGroup2 Receive message:"+ JSON.toJSONString(user));
    }
}

原创不易,有帮助的话麻烦点个赞吧,感谢!!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值