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

做网站哪种编程语言好重庆百度seo整站优化

做网站哪种编程语言好,重庆百度seo整站优化,什么企业适合做网站,重庆住房城乡建设部网站延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间后才收到消息 通过DLX和TTL模拟出延迟队列的功能,即,消息发送以后,不让消费者拿到,而是等待过期时间&#xff0…

延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间后才收到消息

通过DLX和TTL模拟出延迟队列的功能,即,消息发送以后,不让消费者拿到,而是等待过期时间,变成死信后,发送给死信交换机再路由到死信队列进行消费

1、声明延迟队列

package com.smart.wms.config.rabbitmq;import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 功能描述:* 配置交换机、队列、绑定关系* @Authoer: bgq* @Date:2024/6/4 17:33*/
@Configuration
public class MaterialStockExchangeConfig {public static final String MATERIAL_STOCK_EXCHANGE = "wms.material.exchange";public static final String MATERIAL_STOCK_QUEUE = "wms.material.queue";public static final String MATERIAL_DLX_DIRECT_EXCHANGE = "wms.dlx.exchange";public static final String MATERIAL_DLX_QUEUE = "wms.dlx.queue";public static final String MATERIAL_TTL__ROUTING_KEY = "ttl";public static final String MATERIAL_DLX_DELAYED_KEY = "dlx";@Beanpublic Queue ttlQueue() {return QueueBuilder.durable(MATERIAL_STOCK_QUEUE) // 指定队列的名称.ttl(10000) // 指定 TTL 为 10 秒,这里可设置过期时间也可以在发送消息时设置过期时间.deadLetterExchange(MATERIAL_DLX_DIRECT_EXCHANGE) // 指定死信交换机.deadLetterRoutingKey(MATERIAL_DLX_DELAYED_KEY) // 指定死信交换机的 RoutingKey.build();}/*** 声明TTl交换机*/@Beanpublic DirectExchange directExchange(){return new DirectExchange(MATERIAL_STOCK_EXCHANGE);}/*** 声明ttl交换机与队列的关联关系*/@Beanpublic Binding directBinding(){return BindingBuilder.bind(ttlQueue()).to(directExchange()).with(MATERIAL_TTL__ROUTING_KEY);}/*** 声明死信交换机*/@Beanpublic DirectExchange dlxDirect(){return new DirectExchange(MATERIAL_DLX_DIRECT_EXCHANGE);}/*** 声明死信队列*/@Beanpublic Queue dlxQueue(){return new Queue(MATERIAL_DLX_QUEUE);}/*** 声明死信交换机与队列关联关系*/@Beanpublic Binding tlxBinding(){return BindingBuilder.bind(dlxQueue()).to(dlxDirect()).with(MATERIAL_DLX_DELAYED_KEY);}}

2、监听死信队列消费

@RabbitListener(queues = MaterialStockExchangeConfig.MATERIAL_DLX_QUEUE)//监听的队列public void process(Message message, Channel channel) throws Exception {// 进入消息消费业务逻辑String body = new String(message.getBody());log.info("消息,参数:{}",body);JSONObject bodyJson = JSONUtil.parseObj(body);//业务逻辑TODOchannel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
}

3、发送消息

@RequestMapping("/sendTTLMessage")
public void  sendTTLMessage(){JSONObject jsonObject = new JSONObject();jsonObject.putOpt("orderId",wmsSendOrder.getId());rabbitMQSendUtils.sendMessage(MaterialStockExchangeConfig.MATERIAL_STOCK_EXCHANGE,             MaterialStockExchangeConfig.MATERIAL_TTL__ROUTING_KEY, jsonObject, wmsSendOrder.getId().toString());log.info("消息发送成功!");
}

http://www.yidumall.com/news/93592.html

相关文章:

  • 做母婴育儿类网站好做seo排名吗定制营销型网站建设
  • 展示型网站有哪些内容必应搜索引擎下载
  • 推广平台有哪些大的公司品牌seo推广
  • 手机互动网站建设搜索词分析工具
  • 响应式网站的制作网站制作seo的目的是什么
  • 网站开发备案费用怎样创建网站或者网址
  • 哪个wordpress编辑器seo项目分析
  • 仿淘宝php c2c电子商务网站模板哪里有网络推广
  • 通过域名访问网站网店代运营合同
  • 青海网站建设公司推广网络营销外包公司
  • 黑色门户网站源码seo网站排名后退
  • 哪些做任务可以赚钱的网站淮北seo
  • 建筑网站叫什么盘桂林网站设计
  • 做网站要学会什么语言国内ip地址 免费
  • 惠州做网站建设新东方烹饪学校
  • 就业网站建设总结网站优化外包公司
  • wordpress 新闻资讯seo网络推广招聘
  • 超级网站建设怎么去推广一个产品
  • 闵行工程建设网站win7优化大师官网
  • 口碑好的网站推广软件网络营销推广方案策划书
  • vs网站中的轮播怎么做线上线下整合营销方案
  • excel做网页放进网站怎么做一个网站
  • 网站开发配置状态统计样本新东方厨师学费价目表
  • JSP动态网站开发网站建立具体步骤是
  • 农村建设捐款网站网络营销五个特点
  • 网站开发相关的教材书籍关键词快速上首页排名
  • 秦皇岛网站建设系统推荐长沙百度网站优化
  • 哪个网站上可以做初中数学题会计培训班哪个机构比较好
  • 上海网站建设工作室武汉seo招聘网
  • 建设网站需求文档百度小说风云榜总榜