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

网站推广方法有哪些上海进博会2022

网站推广方法有哪些,上海进博会2022,网站浏览器兼容性问题吗,投资网站网站源码目录 1. 本文简介: 1.1 java序列化的缺点 --- 1.1.1 无法跨语言 ---1.1.2 易被攻击 --- 1.1.3 序列化后的流太大 --- 1.1.4 序列化性能太差 2. 配置总览 2.1 基础配置 2.2 连接重试配置 2.3 异常重试机制 2.4 确认模式(本篇是自动) --- 2.4.1…目录 1. 本文简介:  1.1 java序列化的缺点 --- 1.1.1 无法跨语言 ---1.1.2  易被攻击 --- 1.1.3 序列化后的流太大 --- 1.1.4 序列化性能太差 2. 配置总览 2.1  基础配置 2.2 连接重试配置 2.3  异常重试机制 2.4 确认模式(本篇是自动) --- 2.4.1 如图所示 2.5 发送确认设置 --- 2.5.1 参数解释: (老版的功能 直接是一个布尔值 false不开启  true开启) --- 2.5.2  写一个callbackConfig, 重写方法 2.6 重新配置序列化 --- 方法一: 都以application/json传递接收 --- 方法二:  都以application/json传递接收 --- 展示效果:  3. 配置总结 3.1 完整的application.properties的配置 3.2 完整的application.yml配置 4. 文章传送门   5. 下文预告 1. 本文简介:  rabbitmq的连接配置, 以及回收机制配置, 修改默认java序列化方式 1.1 java序列化的缺点 --- 1.1.1 无法跨语言 serialVersionUID版本号必须相同,相同类名 版本号不一样 反序列化失败 ---1.1.2  易被攻击 Apache Commons Collections 允许链式的任意的类函数反射调用攻击者通过“实现了 Java 序列化协议”的端口把攻击代码上传到服务器上再由 Apache Commons Collections 里的 TransformedMap 来执行。 --- 1.1.3 序列化后的流太大 Java 序列化实现的二进制编码完成的二进制数组大小比 ByteBuffer 实现的二进制编码完成的二进制数组大小要大上几倍。 --- 1.1.4 序列化性能太差 ObjectOutputStream序列化效率很低 2. 配置总览 2.1  基础配置 #基础配置 spring.rabbitmq.host* spring.rabbitmq.port5672 spring.rabbitmq.usernamepzy spring.rabbitmq.password* spring.rabbitmq.virtual-hostdevelop 2.2 连接重试配置 # 开启rabbit初始化重试机制 spring.rabbitmq.template.retry.enabledtrue ## 最大重试间隔时间 spring.rabbitmq.template.retry.max-interval1000ms ## 最大重试次数 spring.rabbitmq.template.retry.max-attempts3 # 间隔乘数 spring.rabbitmq.template.retry.multiplier1 # 初始化的时间间隔 spring.rabbitmq.template.retry.initial-interval1000ms 2.3  异常重试机制 #异常重试机制设置[未加死信队列 五次异常后 直接抛弃了] #设置是否重回队列 true即出现异常会将消息重新发送到队列中 spring.rabbitmq.listener.simple.default-requeue-rejectedtrue #设置是否启用消息重试机制默认为false。 spring.rabbitmq.listener.simple.retry.enabledtrue #设置消息重试的最大次数默认为3。 spring.rabbitmq.listener.simple.retry.max-attempts5 #设置消息重试的初始间隔时间默认为1000ms。 spring.rabbitmq.listener.simple.retry.initial-interval2000ms #设置消息重试的时间间隔倍数默认为1(重试时间越来越长) spring.rabbitmq.listener.simple.retry.multiplier1.2 ##设置消息重试的最大时间间隔默认为10000ms。 spring.rabbitmq.listener.simple.retry.max-interval3000ms 2.4 确认模式(本篇是自动) #spring.rabbitmq.listener.simple.acknowledge-modenone spring.rabbitmq.listener.simple.acknowledge-modeauto #spring.rabbitmq.listener.simple.acknowledge-modemanual #spring.rabbitmq.listener.direct.acknowledge-modemanual--- 2.4.1 如图所示 2.5 发送确认设置 #发布消息成功到交换器后会触发回调方法(默认禁用none) spring.rabbitmq.publisher-confirm-typecorrelated #消息发布不可达目的地的时候 才进行回退 spring.rabbitmq.publisher-returnstrue --- 2.5.1 参数解释: (老版的功能 直接是一个布尔值 false不开启  true开启) None 禁用发布确认模式是默认值CORRELATED 发布消息成功到交换机后会触发回调方法SIMPLE  有两种效果:  其一: 效果和 CORRELATED 值一样会触发回调方法 其二: 在发布消息成功 使用 rabbitTemplate 调用 waitForConfirms 或 waitForConfirmsOrDie 方法 等待 broker 节点返回发送结果根据返回结果来判定下一步的逻辑要注意的点是 waitForConfirmsOrDie 方法如果返回 false 则会关闭 channel无法发送消息到 broker --- 2.5.2  写一个callbackConfig, 重写方法 package com.aisce.axmall.order.config.rabbitmq;import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.context.annotation.Configuration;/*** rabbitmq的成功与失败* 消息回调* author pzy* description: TODO* version 1.0.1 beta版*/ Slf4j Configuration public class RabbitCallbackConfig implements RabbitTemplate.ConfirmCallback, RabbitTemplate.ReturnCallback {/*** 消息正常发送 或者发送到broker后出现问题* param correlationData* param ack* param cause*/Overridepublic void confirm(CorrelationData correlationData, boolean ack, String cause) {if (!ack) {log.error(confirm发送到broker失败\r\n correlationData{}\r\n ack{}\r\n cause{},correlationData, ack, cause);} else {log.info(confirm发送到broker成功\r\n correlationData{}\r\n ack{}\r\n cause{},correlationData, ack, cause);}}/*** 压根没到目的地 执行* param message* param replyCode* param replyText* param exchange* param routingKey*/Overridepublic void returnedMessage(NonNull Message message, int replyCode,NonNull String replyText, NonNull String exchange, NonNull String routingKey) {log.error(error returnedMessage \r\n message{}\r\n replyCode{}\r\n replyText{}\r\n exchange{}\r\n routingKey{},message, replyCode, replyText, exchange, routingKey);}//可进行后续操作} 2.6 重新配置序列化 有两种方式(原理差不多) --- 方法一: 都以application/json传递接收 Configuration public class RabbitConfig { Bean public MessageConverter messageConverter(){return new Jackson2JsonMessageConverter(); } --- 方法二:  都以application/json传递接收 /*** rabbitmq配置类** author pzy* version 0.1.0* description: TODO*/ Configuration public class RabbitConfig {Autowiredprivate SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory;Autowiredprivate RabbitCallbackConfig rabbitCallbackConfig;BeanRabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {RabbitTemplate rabbitTemplate new RabbitTemplate(connectionFactory);//消息到不到队列 自动重新返回到生产者rabbitTemplate.setMandatory(true);//其实前面配置加了rabbitTemplate.setConfirmCallback(rabbitCallbackConfig);rabbitTemplate.setReturnCallback(rabbitCallbackConfig);// 使用 JSON 序列化与反序列化rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());rabbitListenerContainerFactory.setMessageConverter(new Jackson2JsonMessageConverter());return rabbitTemplate;} } --- 展示效果:  3. 配置总结 3.1 完整的application.properties的配置 #beta版 rabbitmq V3.0.1 版本启动测试 pzy #基础配置 spring.rabbitmq.host* spring.rabbitmq.port5672 spring.rabbitmq.usernamepzy spring.rabbitmq.password* spring.rabbitmq.virtual-hostdevelop #发送确认机制设置 #发布消息成功到交换器后会触发回调方法(默认禁用none) spring.rabbitmq.publisher-confirm-typecorrelated #消息发布不可达目的地的时候 才进行回退 spring.rabbitmq.publisher-returnstrue# 队列设置 #设置每次预抓取的数量是3,处理完之前不收下一条 默认250 spring.rabbitmq.listener.simple.prefetch3 # 手动确认模式 #spring.rabbitmq.listener.simple.acknowledge-modemanual spring.rabbitmq.listener.simple.acknowledge-modeauto #spring.rabbitmq.listener.direct.acknowledge-modemanual# 开启rabbit初始化重试机制 spring.rabbitmq.template.retry.enabledtrue ## 最大重试间隔时间 spring.rabbitmq.template.retry.max-interval1000ms ## 最大重试次数 spring.rabbitmq.template.retry.max-attempts3 # 间隔乘数 spring.rabbitmq.template.retry.multiplier1 # 初始化的时间间隔 spring.rabbitmq.template.retry.initial-interval1000ms#异常重试机制设置[未加死信队列 五次异常后 直接抛弃了] #设置是否重回队列 true即出现异常会将消息重新发送到队列中 spring.rabbitmq.listener.simple.default-requeue-rejectedtrue #设置是否启用消息重试机制默认为false。 spring.rabbitmq.listener.simple.retry.enabledtrue #设置消息重试的最大次数默认为3。 spring.rabbitmq.listener.simple.retry.max-attempts5 #设置消息重试的初始间隔时间默认为1000ms。 spring.rabbitmq.listener.simple.retry.initial-interval2000ms #设置消息重试的时间间隔倍数默认为1(重试时间越来越长) spring.rabbitmq.listener.simple.retry.multiplier1.2 ##设置消息重试的最大时间间隔默认为10000ms。 spring.rabbitmq.listener.simple.retry.max-interval3000ms# beta版 3.2 完整的application.yml配置 properties 转成 yml 后 注释没了 具体看上面的 #只有服务的消费者 决定怎么消费确认 生产者决定不了 spring: rabbitmq:listener:simple:acknowledge-mode: manualdefault-requeue-rejected: trueretry:enabled: trueinitial-interval: 2000msmax-attempts: 5max-interval: 3000msmultiplier: 1.2host: * port: 5672username: pzypassword: *virtual-host: develop# 新版的就是publisher-confirm-typecorrelatedpublisher-confirms: truepublisher-returns: truetemplate:retry:enabled: trueinitial-interval: 1000msmax-attempts: 3max-interval: 1000msmultiplier: 1 4. 文章传送门   微服务: 00-rabbitmq出现的异常以及解决方案 微服务: 01-rabbitmq的应用场景及安装(docker) 微服务 02-rabbitmq在springboot中如何使用(上篇) 微服务: 03-rabbitmq在springboot中如何使用(下篇) 5. 下文预告 微服务: 05-rabbitmq设置重试次数并设置死信队列
http://www.pierceye.com/news/90366/

相关文章:

  • 舟山市城市建设档案馆网站武夷山景区网站建设特点
  • 北京建设工程质量总站网站哈尔滨网站只做
  • 做外单网站有哪些网站开发工程师需要什么技术
  • 跨境电商自己做网站引流会宁县建设局网站
  • 对于学校网站建设的建议google推广公司哪家好
  • 国外做装饰画的网站公司logo设计图片欣赏
  • 宿州外贸网站建设公司工信部资质查询网站
  • 动漫做暧视频网站用手机制作动画的app
  • 网站备案 域名证书帝国cms响应式网站模板
  • 一个电信ip做网站卡不卡企业网站建设排名资讯
  • 网站建设论文的开题报告制作一个app软件需要多少时间
  • 我们做的网站是优化型结构做二手车网站需要什么
  • 湛江网站建设保定公司互联网信息服务平台官网
  • 做展柜平时在哪里网站推广网站色彩学
  • 网站建站 seo企业网站建设方案模板
  • 国外有哪些做deal的网站四川建筑职业学校官网教务网
  • 无锡网站制作工作室临夏州建设厅官方网站
  • 怎么建设淘宝联盟的网站150m网站空间
  • 淘宝联盟链接的网站怎么做的wordpress幻灯片教程视频教程
  • 网站上线稳定后工作wordpress 不同的文章
  • 网站制作一条龙淘宝详情页制作
  • 海南营销网站建设安徽省住房城乡建设厅网站
  • 单招网站开发基础知识厚街网站建设公司
  • 怎么建微信群如何完成seo优化
  • 顺义广州网站建设wordpress更改字体大小
  • 网站二级目录怎么做婚纱摄影类网站
  • 做国外销售都上什么网站制作图片视频
  • jsp网站开发教学视频教程网站做的比较好的
  • 网站上传页面手机网站与PC网站
  • 在线绘画网站推广链接打开