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

网站中的幻灯片ie6显示 ie7如何兼容米课wordpress建站

网站中的幻灯片ie6显示 ie7如何兼容,米课wordpress建站,兰州的互联网公司有哪些,丹东黄页网RabbitMQ延迟队列的实现 延迟消息是什么延迟消息的实现死信交换机代码实现 延迟消息插件 延迟消息是什么 延迟消息是将消息发送到MQ中#xff0c;消费者不会立即收到消息#xff0c;而是过一段时间之后才会收到消息#xff0c;进行处理。在一些业务中#xff0c;可以用到延… RabbitMQ延迟队列的实现 延迟消息是什么延迟消息的实现死信交换机代码实现 延迟消息插件 延迟消息是什么 延迟消息是将消息发送到MQ中消费者不会立即收到消息而是过一段时间之后才会收到消息进行处理。在一些业务中可以用到延迟消息比如我们在成功下单一个商品后需要立即付款为了避免商品库存一直被占有我们会给商品设置一个支付时间如果在这段时间没有支付成功就会恢复库存删除订单对于订单支付的超时删除我们是通过延迟消息来实现的让消费者在支付超时之后查询用户是否支付如果支付成功直接返回如果支付失败就恢复库存删除订单。 延迟消息的实现 延迟消息由以下两种方式实现第一种是通过绑定死信交换机实现第二种通过延迟消息插件实现推荐使用第二种更加简单 死信交换机 满足以下三种情况之一的叫做死信 1、在设置了过期时间的消息放入队列中超过了过期时间没有被处理的消息 2、消息消费失败返回nack或者reject并且不能重复入队 3、队列消息堆积满了最早的消息叫做死信 我们可以给队列绑定参数指定交换机那么死信会被投递到指定交换机。 消息队列实现原理我们可以设置一组没有消费者的交换机和队列设置另一组处理绑定死信的交换机、队列和消费者来处理延迟消息。 代码实现 定义死信交换机等和消费延迟消息交换机等 Configuration public class DelayConfiguration {/*** 定义死信交换机、队列以及绑定*/Beanpublic DirectExchange exchange() {return new DirectExchange(dead.direct);}Beanpublic Queue queue() {Queue queue new Queue(dead.queue);queue.addArgument(x-dead-letter-exchange, delay.direct);return queue;}Beanpublic Binding binding() {return BindingBuilder.bind(queue()).to(exchange()).with(dead);}/*** 定义处理延迟消息的交换机、队列和绑定*/Beanpublic DirectExchange exchange1() {return new DirectExchange(delay.direct);}Beanpublic Queue queue1() {return new Queue(delay.queue);}Beanpublic Binding binding1() {return BindingBuilder.bind(queue1()).to(exchange1()).with(dead);} } 定义延迟消息监听器 RabbitListener(queues delay.queue)public void listen(String msg){log.info(LocalDateTime.now(): msg);}测试 Testvoid sendDeadMsg() {rabbitTemplate.convertAndSend(dead.direct, dead, 我是死信, new MessagePostProcessor() {Overridepublic Message postProcessMessage(Message message) throws AmqpException { // 设置过期消息时间message.getMessageProperties().setExpiration(10000);return message;}});}结果 消费者在十秒钟后成功消费延迟消息 延迟消息插件 我们在之前通过死信交换机来实现延迟队列但是死信交换机是专门用来存放无法处理的消息并且使用死信交换机实现过于复杂我们需要手动定义两个交换机和队列因而RabbitMQ提供了延迟消息插件来让我们更简单的实现延迟消息。 原理给消息设置延迟时间当将消息放入MQ时MQ的交换机不会立即将消息放入队列而是会在交换机中暂存延迟时间过后将消息路由到队列中可以让队列处理延迟消息。 安装插件插件安装可以借鉴这篇博客 代码实现 消费者 RabbitListener(bindings QueueBinding(value Queue(value delay.queue,durable true),// 开启延迟交换机exchange Exchange(name delay.direct,delayed true),key dead))public void listen(String msg){log.info(msg);}Testvoid sendDeadMsg() {rabbitTemplate.convertAndSend(delay.direct, delay, 我是死信, new MessagePostProcessor() {Overridepublic Message postProcessMessage(Message message) throws AmqpException { // 设置延迟消息时间message.getMessageProperties().setDelay(10000);return message;}});}
http://www.hkea.cn/news/14541588/

相关文章:

  • 建设文化网站的目的和意义中国建设银行上海分行信息网站
  • 企业网站的在线推广方法有哪几种婚姻网站建设注意事项
  • 有关网站建设的公众号小程序游戏源码wordpress
  • 宝山企业做网站网页设计html代码大全美食
  • php 实现网站扫码登录wordpress网站推翻重建
  • 免费的推广网站有哪些wordpress添加登入
  • 公司要做网站洛阳市有哪些平台公司
  • pc网站做移动端适配本地南通网站建设
  • 斐讯路由器做网站映射郑州建网站哪家好
  • 雷神代刷网站推广快速嘉兴高端网站
  • 义乌论坛网站建设云南网站开发网络公司前10
  • 太原手手工网站建设公司wordpress流量统计代码
  • 大赛网站开发需求wordpress 邮箱配置
  • 网站的建设教程教育网站都有哪些
  • 网站开发商网络规划设计师岗位
  • 上海网站设计多少钱什么软件制作网站快
  • 电路板东莞网站建设六安网站建设费用
  • 手机在线做ppt模板下载网站有哪些外贸网站建设怎么选
  • 怎样给网站找空间做备案如何添加网站logo
  • 厦门做企业网站比较好的公司苏州微信网站
  • 长沙cms模板建站稿定设计免费模板
  • 苏州企业建站公司青岛最新发生的新闻
  • 全国网站建设公司排名乐山做美食推荐的网站
  • 网站建设策略阿里巴巴wordpress搜图插件
  • 广州市网站优化公司携程网站的会计工作怎么做
  • 网站开发与设计培训的就业前景免费外贸网站模板下载
  • 广平网站建设wordpress管理员名
  • 网站开发实施经费预算织梦修改网站背景颜色
  • 网站伪静态全站伪静态wordpress首页代码压缩
  • 如何提高网站用户体验专业网站制作解决方案