Tag过滤|学习笔记

简介: 快速学习Tag过滤

开发者学堂课程【RocketMQ知识精讲与项目实战(第一阶段)Tag过滤】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/702/detail/12387


Tag过滤

 

内容介绍:

一、设置 tag

二、消费多个 tag

 

一、设置tag

首先创建一个 producer,再来一个 consumer,同样的将之前的内容粘贴至producer 和 consumer 中,先把 producer 的 topic 改为 filtertagtopic,然后在发送的时候,就可以指定当前的 tag1,发三条。

public static void main(String[] args) throws Exception {

//1.创建消费 Consuner制定消费者组名

DefaultMQPushConsumerconsumer=new DefaultMQPushConsumer( consumerGroup:"group1");

//指定nameserver地址consumer,setNanesrvAddr(“192.168.25.135:9876;192.168.25.138:987

6);

//3订阅主题Topic Tag

consumer.subscribe(topic:“FilterTagTopic", subExpression:"*“);

//4.设置回调函数,处理

for (MessageExt msg:msgs){ consumer.registerMessageListener((MessageListenerConcurrently)(msgs,context)

For (messaext msg:msg){

System.out.println(‘’consumethread’’+Thread.curenthread

()getName() +","+ new string(nsg.getHody()));

}

return ConsumeConcurrentlyStatus.CONSME_SUCCESS;

});

Corsumet Producer(2)

C:\develop\Java\jdi1.8.0_161\bin\java.exe ...

然后在消费者这边,就可以指定消费这个主题的哪一条消息,比如说就消费 tag1。

现在启动 producer,然后发送成功后就会打印发送的结果“消费者启动”。启动

consumer,收到了三条 tag1的消息。

Consumethread=consumemessagethread_1,hello world2

Consumethread=consumemessagethread_1,hello world1

Consumethread=consumemessagethread_1,hello world0 

现在将 producer 的指定改为 tag2,此时消费者没有消费,因为只能消费 tag1的消息

import java.util.list;

Public class Consumer {

public static void main(string[] args) throws Exception {

DefaultMQPushConsumerconsumer=newDefaultMQPushConsumer(

consumerGroup: “group1”);consumer.setNamesrvAddr(“192.168.25.135:9876;192.168.25.138:9876);

consumer.subscribe(topic:“FilterTagTopic", subExpression:“Tag1 II Tag2");

consumer.registerMessageListener((MessageListenerConcurrently)(msgs,context){

for (MessageExt sg :msgs){

system.out.println("consumeThread=”+ Thread.currentThread().getname() +”,"+ new String(msg.getBody()));

}

return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;

});

Consume.start();

System.out.println(“消费者启动”);

}

}

 

二、消费多个tag

如果既想消费 tag1,也想消费 tag2,只要在 consumer 中填写 tag1||tag2 即可,所以想要消费多个 tag 时就用||这个符号往后写就可以了,但如果想要消费的太多时,就可以用*来表示,在演示过程中,tag1 和 tag2就都能分别收到了。

相关文章
|
搜索推荐 算法 定位技术
TAG标签聚合页面是什么?
TAG是博客和CMS系统常有的功能,可以为网站提升大量的权重和流量。今天我主要讲一下TAG标签聚合页面的使用和优化应该注意哪些问题。
TAG标签聚合页面是什么?
TAG的用途(有规则的整数,让TAG可以表示多种意义)
今天又想在数据字典里多增加一项新的功能,想想又要去增加字段,麻烦!翻了一下资料。决定让规范TAG,让TAG可以表示更多的含义 *前题TAG_STR里的数字只允行为2的次方 1.增加TAG的编制栏位[TAG_STR],为字符串,可以生成TAG2.
716 0
|
Linux Android开发 开发工具
Logcat多tag过滤
当Android设备通过usb连接成功后,在logcat中能看到很多log信息,但太多了很容易将我们关注的日志给淹没掉,所以我们需要过滤。如果接入了不同的SDK,那么log的tag可能会不同,所以有时需要显示多个tag。
1344 0
|
开发者 索引
过滤 filter | 学习笔记
快速学习过滤 filter
|
API 开发者 索引
过滤 filter|学习笔记
快速学习过滤 filter。
过滤 filter|学习笔记
|
存储
CousumeQueue中tag的作用
问题的提出 存在就是有意义的,那么ConsumeQueue中存消息tag的hashcode是什么目的呢?
107 0
CousumeQueue中tag的作用
|
移动开发 前端开发 数据安全/隐私保护
标签 tag
学习tag标签
111 0
List之根据某个字段在add的时候过滤掉重复的数据
下面是重写ArrayList,并保证ChooseCars里面alpha字段不重复的例子 public class DistinctList extends ArrayList{ private static Map distinct_map = new HashMap()...
1023 0
|
Scala 开发者
集合过滤 Filter 操作 | 学习笔记
快速学习集合过滤 Filter 操作
|
弹性计算 运维 数据安全/隐私保护
标签(TAG)的最佳实践
随着用户资源增加,用户管理难度也随之增加。标签是大客户批量管理资源的必需品;标签是人、财、物管理的重要手段;横向拉通云产品的分组工具。使用标签最有效的用户(公司/个人)通常创建与业务相关的标签组,以便从技术、业务和安全维度管理资源。
6472 0

热门文章

最新文章