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

wordpress自动语言北京网站排名优化

wordpress自动语言,北京网站排名优化,wordpress qps,word无法发布文章到wordpress问题 前面谈到基于死信的延迟队列,存在的问题:如果第一个消息延时时间很长,而第二个消息延时时间很短,第二个消息并不会优先得到执行。 下载插件 地址:https://github.com/rabbitmq/rabbitmq-delayed-message-excha…

问题

前面谈到基于死信的延迟队列,存在的问题:如果第一个消息延时时间很长,而第二个消息延时时间很短,第二个消息并不会优先得到执行。

下载插件

地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases

rabbitmq_delayed_message_exchange-3.8.0.ez

说明:rabbitmq安装后,会生成这个目录

/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.8/plugins/

拷贝插件到上面这个目录

安装插件

需要重启rabbitmq

监测插件是否安装成功

可以看出不再使用延迟队列,而是使用延迟交换机。

代码

配置代码

package com.xkj.org.config;import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.CustomExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.HashMap;
import java.util.Map;@Configuration
public class DelayExchangeConfig {//队列public static final String DELAYED_QUEUE_NAME = "delayed.queue";//交换机public static final String DELAYED_EXCHANGE_NAME = "delayed.exchange";//RoutingKeypublic static final String DELYAED_ROUTING_KEY = "delayed.routingkey";@Beanpublic CustomExchange delayedExchange() {Map<String, Object> arguments = new HashMap<>();arguments.put("x-delayed-type", "direct");//第一个参数交换机的名称//第二个参数交换机的类型//第三个参数是否持久化//第四个参数是否删除//第五个参数其他参数return new CustomExchange(DELAYED_EXCHANGE_NAME, "x-delayed-message", true, false,arguments);}@Beanpublic Queue delayedQueue() {return new Queue(DELAYED_QUEUE_NAME);}@Beanpublic Binding delayedQueueBindingDelayedExchange(@Qualifier("delayedExchange")CustomExchange delayedExchange,@Qualifier("delayedQueue")Queue delayedQueue) {return BindingBuilder.bind(delayedQueue).to(delayedExchange).with(DELYAED_ROUTING_KEY).noargs();}}

生产者

@ApiOperation("基于插件的延迟消息")@GetMapping("/sendDelayedMsg/{msg}/{delayedTime}")public void sendDelayedMsg(@ApiParam(value = "消息内容", required = true)@PathVariable("msg") String message,@ApiParam(value = "延迟时间", required = true)@PathVariable("delayedTime")Integer delayedTime) {log.info("当前时间{},发送一条消息给延迟交换机:{},delayedTime={}", new Date().toString(), message, delayedTime);rabbitTemplate.convertAndSend("delayed.exchange", "delayed.routingkey", message, msg -> {msg.getMessageProperties().setDelay(delayedTime);return msg;});}

消费者

package com.xkj.org.listener;import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;import java.io.UnsupportedEncodingException;
import java.util.Date;/*** 基于插件的延迟消息队列监听*/
@Slf4j
@Component
public class DelayedQueueConsumer {@RabbitListener(queues = "delayed.queue")public void receiver(Message message, Channel channel) throws UnsupportedEncodingException {String msg = new String(message.getBody(), "UTF-8");log.info("当前时间:{},收到延迟队列的消息:{}", new Date().toString(), msg);}}

 总结

延迟队列可以保证消息可靠发送,消息可靠投递,死信队列保证消息至少被消费一次,已经未被处理的消息不会被丢弃。

http://www.yayakq.cn/news/513449/

相关文章:

  • 网站建设 手机app凡科网之前做的网站在哪看
  • 昆明建站公司推荐呼伦贝尔寰宇网站建设
  • 阿里云搭建自己的网站wordpress源码修改
  • 哪个网站有做电箱电柜的图纸wordpress如何跳转外部链接
  • 怎样找到网站建设设置模板室内设计在线设计软件
  • wordpress 架站四川手机网站
  • 公司网站有收录没排名专业网站设计学校
  • 网站建设的现状和未来网站建设大型企业
  • 吴江做招聘的网站东莞网上招聘平台有哪些
  • 电子商务网站功能模块网站抓取QQ获取系统
  • 设计公司网站是什么是重要的asp.net开发的网站
  • 有没有做gif的专门网站推广优化网站排名教程
  • 做网站百度云网站图片管理系统
  • 怎么找合适的网站开发网络营销公司推荐
  • 电子商务网站建设的策划书网站是怎么做优化
  • kuler网站wordpress卸载重装
  • 简便网站建设做泌尿科网站价格
  • 个人网站建设哪家快做外贸一般用哪些网站
  • 网站验证码代码深圳网站建设 罗湖
  • seo网站快速排名红色网站建设的比较好的高校
  • 电子商务网站域名金华公司建站模板
  • 购买qq空间访客的网站wordpress自动清缓存
  • 学习网站的建设网页页面设计模板
  • 网站建设sem太极馆如何做网站
  • 建设网站费用计入什么费用苏州营销型网站建设
  • 四川 优质高职建设网站wordpress文章加载特效
  • 青岛公司网站建设价格低网页网站设计公司排行榜
  • 网站开发e r图app定制开发公司排名
  • 网站开发实训报告参考文献网站主体必须要与域名注册人相同
  • 国内建设网站的公司怀化营销策划网络推广渠道