当前位置: 首页 > news >正文

网站正在建设中 色湖北seo关键词排名优化软件

网站正在建设中 色,湖北seo关键词排名优化软件,wordpress 信息字段,网站建设怎么推广~~微服务 RocketMQ-延时消息 消息过滤 管控台搜索问题~~ RocketMQ-延时消息实现延时消息RocketMQ-消息过滤Tag标签过滤SQL标签过滤管控台搜索问题RocketMQ-延时消息 给消息设置延时时间,到一定时间,消费者才能消费的到,中间件内部通过每秒钟扫…

~~微服务 RocketMQ-延时消息 消息过滤 管控台搜索问题~~

  • RocketMQ-延时消息
    • 实现延时消息
  • RocketMQ-消息过滤
    • Tag标签过滤
    • SQL标签过滤
  • 管控台搜索问题


RocketMQ-延时消息

给消息设置延时时间,到一定时间,消费者才能消费的到,中间件内部通过每秒钟扫描,判断是否到达要求时间
现在RocketMq并不支持任意时间的延时,需要设置几个固定的延时等级,从1s到2h分别对应着等级1到18"1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h";

但这是默认的,我们可以修改
在这里插入图片描述
在这里插入图片描述
想修改可以去rocketmq的conf文件夹,修改broker.conf配置参数
该时间是指消息在中间件里面存储的时间

实现延时消息

消费者类:

public class Consumer {public static void main(String[] args) throws Exception {//定义消息消费者(在同一个JVM中,消费者的组名不能重复)DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("helloConsumerGroup");//设置nameServer地址consumer.setNamesrvAddr("43.143.161.59:9876");//设置订阅的主题consumer.subscribe("helloTopic","*");//设置消息的监听器consumer.setMessageListener(new MessageListenerConcurrently() {@Overridepublic ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {for(MessageExt msg:list){String s = new String(msg.getBody(), Charset.defaultCharset());System.out.println("消息消费时间:"+new Date()+",消息的内容:"+s);}return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;}});//启动消费者consumer.start();}
}

生产者类:

public class Producer {public static void main(String[] args) throws Exception {//定义一个生产者对象DefaultMQProducer producer = new DefaultMQProducer("helloGroup");//连接nameServerproducer.setNamesrvAddr("43.143.161.59:9876");//启动生产者producer.start();//设置消息发送的目的地String topic = "helloTopic";//发送消息Message msg = new Message(topic,("延时消息,发送时间:"+new Date()).getBytes(Charset.defaultCharset()));//设置消息延时级别msg.setDelayTimeLevel(3);producer.sendOneway(msg);System.out.println("消息发送完毕.");TimeUnit.SECONDS.sleep(5);//关闭资源producer.shutdown();}
}

RocketMQ-消息过滤

Tag标签过滤

用Tag方式进行过滤的方法是传入感兴趣的Tag标签,Tag标签是一个普通字符串,是在创建Message的时候添加的,一个Message只能有一个Tag。使用Tag方式过滤非常高效。

生产者类:

public class Producer {public static void main(String[] args) throws Exception {DefaultMQProducer producer = new DefaultMQProducer("tagProduceGroup");producer.setNamesrvAddr("43.143.161.59:9876");producer.start();String topic = "tagFilterTopic";Message msg1 = new Message(topic,"TagA",("消息A").getBytes(Charset.defaultCharset()));Message msg2 = new Message(topic,"TagB",("消息B").getBytes(Charset.defaultCharset()));Message msg3 = new Message(topic,"TagC",("消息C").getBytes(Charset.defaultCharset()));producer.sendOneway(msg1);producer.sendOneway(msg2);producer.sendOneway(msg3);System.out.println("消息发送完毕.");TimeUnit.SECONDS.sleep(5);producer.shutdown();}
}

消费者类:

public class Consumer {public static void main(String[] args) throws Exception {DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("tagFilterConsumerGroup");consumer.setNamesrvAddr("43.143.161.59:9876");consumer.subscribe("tagFilterTopic","TagA || TagC");consumer.setMessageListener(new MessageListenerConcurrently() {@Overridepublic ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {for(MessageExt msg:list){String s = new String(msg.getBody(), Charset.defaultCharset());System.out.println("消息的内容:"+s);}return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;}});//启动消费者consumer.start();}
}

运行结果
在这里插入图片描述

SQL标签过滤

可以过滤内容,像写where一样

生产者类:

public class Producer {public static void main(String[] args) throws Exception {DefaultMQProducer producer = new DefaultMQProducer("sqlProduceGroup");producer.setNamesrvAddr("43.143.161.59:9876");producer.start();String topic = "sqlFilterTopic";Message msg1 = new Message(topic,("美女A,年龄22,体重45").getBytes(Charset.defaultCharset()));msg1.putUserProperty("age","22");msg1.putUserProperty("weight","45");Message msg2 = new Message(topic,("美女B,年龄25,体重60").getBytes(Charset.defaultCharset()));msg2.putUserProperty("age","25");msg2.putUserProperty("weight","60");Message msg3 = new Message(topic,("美女C,年龄40,体重70").getBytes(Charset.defaultCharset()));msg3.putUserProperty("age","40");msg3.putUserProperty("weight","70");producer.sendOneway(msg1);producer.sendOneway(msg2);producer.sendOneway(msg3);System.out.println("消息发送完毕.");TimeUnit.SECONDS.sleep(5);producer.shutdown();}
}

消费者类:

public class Consumer {public static void main(String[] args) throws Exception {DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("sqlFilterConsumerGroup");consumer.setNamesrvAddr("43.143.161.59:9876");consumer.subscribe("sqlFilterTopic", MessageSelector.bySql("age>23 and weight>60"));consumer.setMessageListener(new MessageListenerConcurrently() {@Overridepublic ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {for(MessageExt msg:list){String s = new String(msg.getBody(), Charset.defaultCharset());System.out.println("消息的内容:"+s);}return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;}});//启动消费者consumer.start();}
}

运行结果:
在这里插入图片描述
原因是因为默认是不支持sql过滤的,需要更改配置文件之后重启broker服务
在这里插入图片描述
在文件最后一行添加enablePropertyFilter=true即可
随后重新启动broker服务
在这里插入图片描述
之后运行结果
在这里插入图片描述


管控台搜索问题

为什么有时候管控台的消息都没有显示收到此消息,但消费者却能消费?

因为时间问题,因为我们的rocketmq是部署在虚拟机上的,当我们虚拟机和windows时间是同步的时候,消息是没有问题的,控制台显示时间内上下波动一小时的消息,但当虚拟机关掉的时候,时间是不动的,windows的时间却因为电脑里面的一个物理小电池,时间还在正常运行,两者时间不同步了,造成我们发消息是虚拟机的时间,控制台显示的是windows的时间,但消费因为并没有按照时间过滤,所以还是可以接收的到,把时间改一下又可以看到消息了

在这里插入图片描述

http://www.dinnco.com/news/17997.html

相关文章:

  • php网站中水印怎么做的百度搜索风云榜电脑版
  • 电脑网站显示安全证书有问题怎么解决深圳的seo网站排名优化
  • 网站建设类岗位有哪些网站权重查询接口
  • 市政府网站建设建议app运营
  • 360中小网站建设全国各大新闻网站投稿
  • 嘉兴网站推广优化费用怎么在百度上投放广告
  • 营销网站建设的因素百度seo排名如何提升
  • 上海网站制作策网络广告营销对应案例
  • 建筑做文本网站app推广实名认证接单平台
  • wordpress 插件互联网关键词优化
  • 做公司的网站怎么上线今日疫情实时数据
  • 东莞网络科技公司靠谱吗网站优化软件费用
  • 百度快照 如何抓取网站域名注册网站
  • 医疗类网站哪家做的好免费网站建设哪个好
  • 高端网站设计电话广州网站seo公司
  • 发展历程 网站建设推广注册app拿佣金
  • 杭州网站开发公司百度账号一键登录
  • exploit-db wordpressseo服务公司上海
  • 石家庄网站小程序南宁seo专员
  • 政府机关网站模版1688seo优化是什么
  • 做平台网站要什么条件销售系统
  • 什么网站可以找人做系统小红书关键词搜索量查询
  • 企业网站可以自己做百度的竞价排名是哪种方式
  • 网页拒绝访问怎么解决seo查询站长工具
  • 苍南网站建设温州seo博客
  • 网站备案需要多长时间免费seo网站诊断
  • 12.12做网站的标题磁力天堂最新版地址
  • ubuntu 建网站什么是网络营销战略
  • 今网科技网站建设长沙seo关键词
  • 柳市做公司网站seo3