前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【已解决】在使用RocketMQ消费消息的时候,提示不支持SQL92的错误:CODE: 1 DESC: The broker does not support consumer to filter

【已解决】在使用RocketMQ消费消息的时候,提示不支持SQL92的错误:CODE: 1 DESC: The broker does not support consumer to filter

作者头像
凯哥Java
发布2022-12-16 18:55:43
1.2K0
发布2022-12-16 18:55:43
举报
文章被收录于专栏:凯哥Java

在使用RocketMQ的时候,我们知道消费者,可以根据不同条件进行过滤消息来消费的。比如说通过tag进行过滤。tag是一种最简单但是也最使用的一种过滤方式。但是,有些情况下,我们需要复杂的过滤。这个时候,可能tag过滤就不一定能满足了,其实RocketMQ也支持SQL语法的过滤。

在使用sql语法过滤步骤:

在生产者发送消息的时候,在消息体中put我们自定义的属性。如下:

43fa1e0331cc2d34034743ce86acba08.png
43fa1e0331cc2d34034743ce86acba08.png

注意:再不同版本的rocketMQ下,可能有setUserProperty.而不是putUserProperty方法

在消息的消费者订阅消息的时候,可以bysql进行过滤。

04f836f5501b137ed634651fa706b1e0.png
04f836f5501b137ed634651fa706b1e0.png

启动消费者的时候,发现如下错误:

c127db65047467d8c900a3ba5b5b2862.png
c127db65047467d8c900a3ba5b5b2862.png

从错误信息中,我们可以看到,是当前的broker不支持SQL92语法过滤。

那么怎么修改呢?

分情况:分单机环境和集群环境

单机情况下,直接在borker.conf中添加

代码语言:javascript
复制
#支持sql92
enablePropertyFilter=true

在集群情况下,修改broker-m.conf和broker-s.conf.然后重启broker即可。

a43bb736bd9d00acdc23d0e98e49672f.png
a43bb736bd9d00acdc23d0e98e49672f.png

重启完rocketMQ后,重启消费者服务。我们就可以看到,消费者值消费了i>4的消息了。如下图:

351160cad316a5f48776c09078e3443a.png
351160cad316a5f48776c09078e3443a.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档