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

ftp 网站管理淘宝做关键词的网站

ftp 网站管理,淘宝做关键词的网站,大米包装设计,东莞住房城乡建设部官网背景 这里后补直接上代码 最佳实践 主要从两个方面保证消息不丢失 RabbitMQ方面 创建队列时开启持久化创建交换器时开启持久化创建镜像队列#xff08;可选#xff09;开启延迟队列#xff08;可选#xff09; 代码层面 开启生产者到交换器回调参数开启交换器到队列…背景 这里后补直接上代码 最佳实践 主要从两个方面保证消息不丢失 RabbitMQ方面 创建队列时开启持久化创建交换器时开启持久化创建镜像队列可选开启延迟队列可选 代码层面 开启生产者到交换器回调参数开启交换器到队列回调参数开启消费者手动ack注意消费端打印日志考虑手动补偿可选 实现代码 RabbitMQ配置文件 package com.jndj.core.config;import com.rabbitmq.client.ConnectionFactory; import org.springframework.amqp.core.AcknowledgeMode; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException;Configuration EnableAutoConfiguration public class RabbitMQAutoConfiguration {Value(${spring.rabbitmq.host})public String rmHost;Value(${spring.rabbitmq.port})public int rmPort;Value(${spring.rabbitmq.username})public String rmUsername;Value(${spring.rabbitmq.password})public String rmPassword;Value(${spring.rabbitmq.virtual-host})public String virtualHost;Beanpublic CachingConnectionFactory connectionFactory() throws NoSuchAlgorithmException, KeyManagementException {ConnectionFactory rabbitConnectionFactory new ConnectionFactory();rabbitConnectionFactory.setHost(rmHost);rabbitConnectionFactory.setPort(rmPort);rabbitConnectionFactory.setUsername(rmUsername);rabbitConnectionFactory.setPassword(rmPassword);rabbitConnectionFactory.setVirtualHost(virtualHost);rabbitConnectionFactory.useSslProtocol();CachingConnectionFactory cachingConnectionFactory new CachingConnectionFactory(rabbitConnectionFactory);cachingConnectionFactory.setPublisherReturns(true);cachingConnectionFactory.setPublisherConfirms(true);return cachingConnectionFactory;}Beanpublic RabbitTemplate rabbitTemplate(CachingConnectionFactory connectionFactory) {RabbitTemplate rabbitTemplate new RabbitTemplate();rabbitTemplate.setConnectionFactory(connectionFactory);rabbitTemplate.setMandatory(true);rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {Overridepublic void confirm(CorrelationData correlationData, boolean ack, String cause) {System.out.println(ConfirmCallback: 相关数据 correlationData);System.out.println(ConfirmCallback: 确认情况 ack);System.out.println(ConfirmCallback: 原因 cause);}});rabbitTemplate.setReturnCallback(new RabbitTemplate.ReturnCallback() {Overridepublic void returnedMessage(Message message, int replyCode, String replyText, String exchange, String routingKey) {System.out.println(ReturnCallback: 消息 message);System.out.println(ReturnCallback: 回应码 replyCode);System.out.println(ReturnCallback: 回应信息 replyText);System.out.println(ReturnCallback: 交换机 exchange);System.out.println(ReturnCallback: 路由键 routingKey);}});rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());return rabbitTemplate;}Beanpublic SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(CachingConnectionFactory connectionFactory) {SimpleRabbitListenerContainerFactory factory new SimpleRabbitListenerContainerFactory();factory.setConnectionFactory(connectionFactory);factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);return factory;}}生产者 public AjaxResult insertStuResults(RequestBody MyoResults model) {try {rabbitTemplate.convertAndSend(RabbitMQConstant.EX_STU_RESULTS_MANUAL, RabbitMQConstant.Q_STU_RESULTS_MANUAL, model);return AjaxResult.success(上送成功);} catch (Exception e) {return AjaxResult.error(e.getMessage());}}消费者 RabbitListener(queues RabbitMQConstant.Q_STU_RESULTS_MANUAL)RabbitHandlerpublic void getManualMsg(Message message, Channel channel) throws IOException {String jsonString new String(message.getBody(), StandardCharsets.UTF_8);ObjectMapper objectMapper new ObjectMapper();MyoResults model objectMapper.readValue(jsonString, MyoResults.class);iStuResultsService.insertMongodb(model);channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);}
http://www.dnsts.com.cn/news/120767.html

相关文章:

  • 有限公司在线网站漯河做网站公司
  • 怎么去掉wordpress底部湖南seo网站多少钱
  • tk免费域名注册网站外贸推广排行榜
  • 建立新网站要多少钱来钱快app
  • 做论坛网站价格济南做公司网站
  • 天睦和生态建设有限公司网站做汽配的网站
  • 中小企业网站建设与推广贵阳网站建设价格
  • 网站建设公司财务预算wordpress 中文 插件下载
  • 周到的做pc端网站wordpress顶部图像使用小工具
  • 怎么自己免费创建一个网站做电子签章登录那个网站
  • 网站优化效果建设行网站修改电话
  • asp网站建设公司三亚今天最新通知
  • 网站建设公众号小程序开发校园网拓扑图设计方案
  • 应持续抓好二级网站的建设工作免费网站国内空间
  • 网站改备案吗福州外网站建设
  • 茶文化网站制作彩票资料网站怎么做
  • 网站必须要求备案吗安徽省干部建设教育网站
  • 松江网站建设平台网站建设的比较合理的流程
  • 网站备案注销下载郑州市做网站
  • 武威建设银行网站wordpress手机ui
  • 南联网站建设免费网站一级a做爰在免费线看
  • 建设网站的需求分析报告win10系统优化软件哪个好
  • 推广网站的形式包括营销型网站建设报价方案
  • 唐老鸭微信营销软件黄石市seo关键词优化怎么做
  • 网站项目建设周期抓取的网站如何做seo
  • 企业的网站建设与设计论文安装wordpress登录时的域名是什么
  • php 网站做分享功能永嘉营销网站建设
  • 浙江省住房与城乡建设厅网站6.网站开发流程是什么
  • 长安营销服务协同管理平台网站制作网页整体规划方案
  • 网站建设培训学院新兴县城乡建设局网站登录