【已解决】在使用RocketMQ消费消息的时候,提示不支持SQL92的错误:CODE: 1 DESC: The broker does not support consumer to filter
2023-02-18 16:31:08 时间
在使用RocketMQ的时候,我们知道消费者,可以根据不同条件进行过滤消息来消费的。比如说通过tag进行过滤。tag是一种最简单但是也最使用的一种过滤方式。但是,有些情况下,我们需要复杂的过滤。这个时候,可能tag过滤就不一定能满足了,其实RocketMQ也支持SQL语法的过滤。
在使用sql语法过滤步骤:
在生产者发送消息的时候,在消息体中put我们自定义的属性。如下:
注意:再不同版本的rocketMQ下,可能有setUserProperty.而不是putUserProperty方法
在消息的消费者订阅消息的时候,可以bysql进行过滤。
启动消费者的时候,发现如下错误:
从错误信息中,我们可以看到,是当前的broker不支持SQL92语法过滤。
那么怎么修改呢?
分情况:分单机环境和集群环境
单机情况下,直接在borker.conf中添加
#支持sql92
enablePropertyFilter=true
在集群情况下,修改broker-m.conf和broker-s.conf.然后重启broker即可。
重启完rocketMQ后,重启消费者服务。我们就可以看到,消费者值消费了i>4的消息了。如下图:
相关文章
- Yii2.0 数据库操作增删改查大全
- 给你推荐一款真的好用的开源数据库监控系统LEPUS
- 亲测安装开源数据库监控系统LEPUS的详细教程
- mac 上学习k8s系列(46)canal同步mysql到es
- mac 上学习k8s系列(49)源码部署dm同步mysql数据到tidb
- SQL Server聚类数据挖掘信用卡客户可视化分析
- 2022-12-17:订单最多的客户。以下数据,结果输出3。请问sql语句如何写?
- PostgreSQL 超越 MySQL
- 进了,Gartner这个报告有魔力!腾讯云数据库喜提双料第一
- 【MySQL】InnoDB行格式
- 你不知道的达梦数据库
- SQL语句练习05
- 【愚公系列】2022年12月 Elasticsearch数据库-.NET CORE的Serilog=>Rabbitmq=>Logstash=>Elasticsearch的日志传输(四)
- 【数据库原理与运用|MySQL】MySQL视图的使用
- Oracle数据库基础
- 客快物流大数据项目(七十二):Impala sql 语法
- 数据库系统原理作业(2)
- SQL语句练习06
- Mysql蜜罐反制cobalt strike
- ClickHouse 源码解析(三):SQL 的一生(下)