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

打开网站弹出图片代码最新最好的磁力搜索

打开网站弹出图片代码,最新最好的磁力搜索,光电网站建设,建浏览器网站制作背景 这里后补直接上代码 最佳实践 主要从两个方面保证消息不丢失 RabbitMQ方面 创建队列时开启持久化创建交换器时开启持久化创建镜像队列(可选)开启延迟队列(可选) 代码层面 开启生产者到交换器回调参数开启交换器到队列…

背景

这里后补直接上代码

最佳实践

主要从两个方面保证消息不丢失

RabbitMQ方面

  1. 创建队列时开启持久化
  2. 创建交换器时开启持久化
  3. 创建镜像队列(可选)
  4. 开启延迟队列(可选)

代码层面

  1. 开启生产者到交换器回调参数
  2. 开启交换器到队列回调参数
  3. 开启消费者手动ack
  4. 注意消费端打印日志,考虑手动补偿(可选)

实现代码

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.mmbaike.com/news/68695.html

相关文章:

  • 网站开发 数据库外链吧
  • 禁止拿我们的网站做宣传安全优化大师下载
  • 网站建设如何制作运营商推广5g技术
  • 钓鱼网站生成器如何做推广和引流
  • 深圳最好的网站开发公司电话百度搜索推广平台
  • 私人路由器做网站aso优化师工作很赚钱吗
  • 松岗网站建设媒体代发网站
  • dreamweaver的主要功能深圳sem优化
  • 盘锦威旺做网站建设公司北京seo业务员
  • 做网站的费用是多少销售的技巧与口才
  • 商城小程序需要什么资质上海关键词优化排名软件
  • 足球比赛直播app下载优化推广网站seo
  • 惠州网站建设服务爱站网关键词
  • 温州做企业网站网站维护工作内容
  • 学网站开发看什么书关于进一步优化
  • 郑州的网站建设公司今日国际重大新闻
  • 北京网站定制流程上海网站排名优化
  • 网站开发工作日志万网查询
  • 嘉兴网站制作报价企业网站开发
  • 山东德州网站建设哪家最专业竞价防恶意点击
  • 打开百度竞价页面是网站是什么seo网络排名优化技巧
  • 网站设计是用什么软件做电商平台推广公司
  • 自己做流媒体网站难长沙seo霸屏
  • 手机建设银行网站百度游戏中心
  • java开发手机网站建设营销型企业网站制作
  • 用phython做网站泰州网站建设优化
  • 大连仟亿科技网站建设公司怎么样seo优化广告
  • 宣城老品牌网站建设seo刷排名公司
  • 大连企业做网站公司排名外贸高端网站设计公司
  • 如何说服别人做网站seo免费资源大全