Skip to content

Commit 3c6486d

Browse files
committed
delete md
1 parent 7181eb2 commit 3c6486d

1 file changed

Lines changed: 0 additions & 188 deletions

File tree

rocketmq-v5-client-spring-boot-samples/README-CN.md

Lines changed: 0 additions & 188 deletions
Original file line numberDiff line numberDiff line change
@@ -567,194 +567,6 @@ rocketmq.simple-consumer.filter-expression-type=tag
567567

568568
<a name="GSP33"></a>
569569

570-
# SQL92 消息过滤
571-
572-
<a name="SQL92-01"></a>
573-
574-
## 概述
575-
576-
RocketMQ V5 客户端支持 SQL92 消息过滤功能,允许消费者根据消息属性进行复杂的条件过滤。
577-
578-
### 支持的过滤类型
579-
580-
1. **TAG 过滤**(默认):基于 Tag 的简单过滤
581-
2. **SQL92 过滤**:基于消息属性的复杂条件过滤
582-
583-
<a name="SQL92-02"></a>
584-
585-
## 配置说明
586-
587-
### application.properties 配置
588-
589-
```properties
590-
# 基本配置
591-
rocketmq.simple-consumer.endpoints=localhost:8081
592-
rocketmq.simple-consumer.consumer-group=sql92Group
593-
rocketmq.simple-consumer.topic=sql92Topic
594-
595-
# TAG 过滤(默认)
596-
rocketmq.simple-consumer.tag=*
597-
rocketmq.simple-consumer.filter-expression-type=tag
598-
599-
# SQL92 过滤
600-
# rocketmq.simple-consumer.tag=(type = 'vip' AND amount > 500)
601-
# rocketmq.simple-consumer.filter-expression-type=sql92
602-
```
603-
604-
<a name="SQL92-03"></a>
605-
606-
## SQL92 表达式语法
607-
608-
### 比较操作符
609-
610-
- `=` : 等于
611-
- `<>` : 不等于
612-
- `>` : 大于
613-
- `<` : 小于
614-
- `>=` : 大于等于
615-
- `<=` : 小于等于
616-
- `BETWEEN` : 在某个范围内
617-
- `IN` : 在集合中
618-
- `LIKE` : 模糊匹配
619-
620-
### 逻辑操作符
621-
622-
- `AND` : 与
623-
- `OR` : 或
624-
- `NOT` : 非
625-
626-
<a name="SQL92-04"></a>
627-
628-
## 使用示例
629-
630-
### 示例 1:简单等值过滤
631-
632-
只消费 type='vip' 的消息:
633-
634-
```properties
635-
rocketmq.simple-consumer.filter-expression-type=sql92
636-
rocketmq.simple-consumer.tag=(type = 'vip')
637-
```
638-
639-
发送消息时添加属性:
640-
641-
```java
642-
Message<?> message = MessageBuilder.withPayload(order)
643-
.setHeader("type", "vip")
644-
.build();
645-
```
646-
647-
### 示例 2:数值范围过滤
648-
649-
消费金额在 100-1000 之间的订单:
650-
651-
```properties
652-
rocketmq.simple-consumer.filter-expression-type=sql92
653-
rocketmq.simple-consumer.tag=(amount >= 100 AND amount <= 1000)
654-
```
655-
656-
### 示例 3:多条件组合
657-
658-
消费 VIP 用户且金额大于 500 的订单:
659-
660-
```properties
661-
rocketmq.simple-consumer.filter-expression-type=sql92
662-
rocketmq.simple-consumer.tag=(type = 'vip' AND amount > 500)
663-
```
664-
665-
### 示例 4:IN 操作符
666-
667-
消费特定地区的订单:
668-
669-
```properties
670-
rocketmq.simple-consumer.filter-expression-type=sql92
671-
rocketmq.simple-consumer.tag=(region IN ('Beijing', 'Shanghai', 'Guangzhou'))
672-
```
673-
674-
### 示例 5:LIKE 模糊匹配
675-
676-
消费以 A 开头的产品类别:
677-
678-
```properties
679-
rocketmq.simple-consumer.filter-expression-type=sql92
680-
rocketmq.simple-consumer.tag=(category LIKE 'A%')
681-
```
682-
683-
<a name="SQL92-05"></a>
684-
685-
## 消费者代码示例
686-
687-
```java
688-
@Service
689-
@RocketMQMessageListener(
690-
endpoints = "${demo.sql92.rocketmq.endpoints:}",
691-
topic = "${demo.sql92.rocketmq.topic:}",
692-
consumerGroup = "${demo.sql92.rocketmq.consumer-group:}",
693-
tag = "${demo.sql92.rocketmq.tag:}",
694-
filterExpressionType = "${demo.sql92.rocketmq.filter-expression-type:sql92}"
695-
)
696-
public class SQL92FilterConsumer implements RocketMQListener {
697-
698-
@Override
699-
public ConsumeResult consume(MessageView messageView) {
700-
log.info("收到 SQL92 过滤消息 - ID: {}, 属性:{}",
701-
messageView.getMessageId(),
702-
messageView.getProperties());
703-
return ConsumeResult.SUCCESS;
704-
}
705-
}
706-
```
707-
708-
<a name="SQL92-06"></a>
709-
710-
## 生产者代码示例
711-
712-
```java
713-
@SpringBootApplication
714-
public class SQL92ProducerApplication implements CommandLineRunner {
715-
716-
@Resource
717-
private RocketMQClientTemplate rocketMQClientTemplate;
718-
719-
@Override
720-
public void run(String... args) throws ClientException {
721-
// 发送带属性的消息
722-
Message<?> message = MessageBuilder.withPayload("VIP Order")
723-
.setHeader("type", "vip")
724-
.setHeader("amount", 600)
725-
.setHeader("region", "Beijing")
726-
.build();
727-
728-
rocketMQClientTemplate.syncSendNormalMessage("orderTopic", message);
729-
}
730-
}
731-
```
732-
733-
<a name="SQL92-07"></a>
734-
735-
## 注意事项
736-
737-
1. **属性名称限制**
738-
- 属性名称不能包含空格和特殊字符
739-
- 建议使用字母、数字和下划线
740-
741-
2. **性能考虑**
742-
- SQL92 过滤比 TAG 过滤更消耗资源
743-
- 简单的过滤场景优先使用 TAG 过滤
744-
745-
3. **表达式长度**
746-
- SQL92 表达式长度有限制,不宜过长
747-
748-
4. **数据类型**
749-
- 确保发送的消息属性类型与过滤表达式中的类型一致
750-
- 字符串值需要用单引号包裹
751-
752-
5. **NULL 值处理**
753-
- 使用 `IS NULL``IS NOT NULL` 判断空值
754-
- 不要使用 `= NULL`
755-
756-
<a name="GSP33"></a>
757-
758570
# ACL功能
759571

760572
<a name="PavXQ"></a>

0 commit comments

Comments
 (0)