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

购买模板建站做流程图网站

购买模板建站,做流程图网站,网站底部导航设置,迅睿cms教程1.RabbitMQ安装 RabbitMQ Windows 安装、配置、使用 - 小白教程-腾讯云开发者社区-腾讯云下载erlang:http://www.erlang.org/downloads/https://cloud.tencent.com/developer/article/2192340 Windows 10安装RabbitMQ及延时消息插件rabbitmq_delayed_message_exch…

1.RabbitMQ安装

RabbitMQ Windows 安装、配置、使用 - 小白教程-腾讯云开发者社区-腾讯云下载erlang:http://www.erlang.org/downloads/https://cloud.tencent.com/developer/article/2192340

Windows 10安装RabbitMQ及延时消息插件rabbitmq_delayed_message_exchange - 民工黑猫 - 博客园安装RabbitMQ服务器 第一步:下载erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。下载地址:http://www.erlang.org/downloads 第二步:下载RabbitMQ 下载地址:https://https://www.cnblogs.com/yyee/p/14281111.html

2.生产端确保消息发送到交换机和路由键

application.yml

spring:rabbitmq:host: 127.0.0.1port: 5672username: guestpassword: guestvirtual-host: /publisher-confirm-type: CORRELATED # 交换机的确认publisher-returns: true # 队列的确认
logging:level:com.atguigu.mq.config: info

RabbitConfig

@Configuration
@Slf4j
public class RabbitConfig implements RabbitTemplate.ConfirmCallback, RabbitTemplate.ReturnsCallback {@Autowiredprivate RabbitTemplate rabbitTemplate;@PostConstructpublic void initRabbitTemplate() {rabbitTemplate.setConfirmCallback(this);rabbitTemplate.setReturnsCallback(this);}// 发送到交换机-成功或失败@Overridepublic void confirm(CorrelationData correlationData, boolean ack, String cause) {log.info("confirm() 回调函数打印 correlationData:{}, ack:{}, cause:{}", correlationData, ack, cause);}// 发送到队列-失败@Overridepublic void returnedMessage(ReturnedMessage returned) {log.info("returnedMessage() 回调函数 msg:{}, replyCode:{}, replyText:{}, exchange:{}, routingKey:{}",new String(returned.getMessage().getBody()), returned.getReplyCode(), returned.getReplyText(), returned.getExchange(), returned.getRoutingKey());}
}
RabbitMQTest
public static final String EXCHANGE_DIRECT = "exchange.direct.order";public static final String ROUTING_KEY = "order";@Autowiredprivate RabbitTemplate rabbitTemplate;//发消息-生产端确保消息发到交换机和路由键rabbitTemplate.convertAndSend(EXCHANGE_DIRECT + "~", ROUTING_KEY + "~", "Message Test Confirm~~~ ~~~");

3.消费端手动ack

application.yml

spring:rabbitmq:host: 127.0.0.1port: 5672username: guestpassword: guestvirtual-host: /listener:simple:acknowledge-mode: manual # 把消息确认模式改为手动确认prefetch: 1 # 每次从队列中取回消息的数量
MyMessageListener
public static final String QUEUE_NAME  = "queue.order";//接消息-消费端手动ack//@RabbitListener(queues = {QUEUE_NAME})public void processMessage(String dataString, Message message, Channel channel) throws IOException {//获取消息的deliveryTaglong deliveryTag = message.getMessageProperties().getDeliveryTag();try {//核心操作log.info("消费端 消息内容:" + dataString);System.out.println(10 / 0);//核心操作成功返ACKchannel.basicAck(deliveryTag, false);} catch (Exception e) {//获取消息是否重复投递Boolean redelivered = message.getMessageProperties().getRedelivered();//核心操作失败返NACKif (!redelivered) {//第一次投递,重新放回队列 (requeue:是否重新放回队列)channel.basicNack(deliveryTag, false, true);//channel.basicReject(deliveryTag, true);} else {//重复投递,不重新放回队列 (requeue:是否重新放回队列)channel.basicNack(deliveryTag, false, false);//channel.basicReject(deliveryTag, false);}}}

4.消息设置超时时间(通过消息后置处理器)

rabbitTemplate.convertAndSend(EXCHANGE_TIMEOUT, ROUTING_KEY_TIMEOUT, "Test timeout", message -> {message.getMessageProperties().setExpiration("4000");return message;});

5.延迟消息(延迟插件)

Windows 10安装RabbitMQ及延时消息插件rabbitmq_delayed_message_exchange - 民工黑猫 - 博客园安装RabbitMQ服务器 第一步:下载erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。下载地址:http://www.erlang.org/downloads 第二步:下载RabbitMQ 下载地址:https://https://www.cnblogs.com/yyee/p/14281111.htmlRabbitMQ延迟插件下载地址

Community Plugins | RabbitMQ RabbitMQ设置延迟消息的交换机

生产端发送延时消息(通过消息后置处理器)

        //延迟消息-延时插件(最多俩天内)String msg = "Test delay message by plugin " + new SimpleDateFormat("HH:mm:ss").format(new Date());rabbitTemplate.convertAndSend(EXCHANGE_DELAY, ROUTING_KEY_DELAY, msg, message -> {//x-delay参数必须基于x-delayed-message-exchange插件才能生效message.getMessageProperties().setHeader("x-delay", "10000");return message;});

消费端消费延时消息

@RabbitListener(queues = {QUEUE_DELAY})public void processMessageDelay(String dataString, Message message, Channel channel) throws IOException {log.info("[delay message][消息本身]" + dataString);log.info("[delay message][当前时间]" + new SimpleDateFormat("HH:mm:ss").format(new Date()));channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);}

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

相关文章:

  • wordpress视频网站采集器短视频特效制作软件
  • 海南省建设注册中心网站批量做网站
  • 酒店网站方案多种语言网站制作
  • 重庆建设车业官方网站深圳网站定制深圳网站建设公司
  • 电子商务网站建设的首要问题网站建设企业有哪些
  • wordpress网站类型网站建设方案博客
  • 微信小程序云开发教程丈哥seo博客
  • 郴州建设工程集团招聘信息网站百度网站类型
  • 苏州高新区建设局网站管网可信网站认证有用吗
  • 罗湖公司网站建设石家庄医院网站建设
  • 计算机专业做网站的开题报告企业品牌推广口号
  • 拼团手机网站开发连云港seo
  • wordpress网站云备份wordpress怎么优化图片大小
  • html做网站的毕业设计网页排版怎么设置
  • 网站页面设计内容鄂尔多斯市建设厅官方网站
  • 网站的不足之处wordpress xml文件分割器
  • 深圳罗湖做网站的公司wordpress分类下的所有文章加密
  • 下载做ppt的动画片的好网站英雄联盟最新赛事
  • 汉阳区建设局网站wordpress迁移到jekyll
  • 那个网站教我做美食最好网站域名的作用是什么意思
  • 高端的赣州网站建设电子商务网站会员体系
  • 网站建设需要哪些人才关联词有哪些四年级
  • 营销网站的关键字wordpress优化访问速度
  • 网站关键词快速排名凤岗网站仿做
  • 住房城乡建设部网站合同示范个人可以做宣传片视频网站
  • 甘肃永靖建设住建局网站品牌logo设计图片
  • 浙江创都建设有限公司网站我要软文网
  • 直接做那个视频网站万网官网域名注册
  • 镇江网站开发公司海宁市住房与建设规划局网站
  • 深圳做网页的网站做创意网站