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

建站公司经营企业宣传如何做网站

建站公司经营,企业宣传如何做网站,如何进行网站关键词优化,网站开发与设计SpringBoot整合SpringCloudStream3.1版本的Kafka死信队列 上一篇直通车 SpringBoot整合SpringCloudStream3.1版本Kafka 实现死信队列步骤 添加死信队列配置文件#xff0c;添加对应channel通道绑定配置对应的channel位置添加重试配置 结果 配置文件 Kafka基本配置#…SpringBoot整合SpringCloudStream3.1版本的Kafka死信队列 上一篇直通车 SpringBoot整合SpringCloudStream3.1版本Kafka 实现死信队列步骤 添加死信队列配置文件添加对应channel通道绑定配置对应的channel位置添加重试配置 结果 配置文件 Kafka基本配置application-mq.yml server:port: 7105 spring:application:name: betrice-message-queueconfig:import:- classpath:application-bindings.ymlcloud:stream:kafka:binder:brokers: localhost:9092configuration:key-serializer: org.apache.kafka.common.serialization.StringSerializervalue-serializer: org.apache.kafka.common.serialization.StringSerializerconsumer-properties:enable.auto.commit: falsebinders:betrice-kafka:type: kafkaenvironment:spring.kafka:bootstrap-servers: ${spring.cloud.stream.kafka.binder.brokers}创建死信队列配置文件application-dql.yml spring:cloud:stream:kafka:bindings:dqlTransfer-in-0:consumer:# When set to true, it enables DLQ behavior for the consumer. By default, messages that result in errors are forwarded to a topic named error.destination.group.# messages sent to the DLQ topic are enhanced with the following headers: x-original-topic, x-exception-message, and x-exception-stacktrace as byte[].# By default, a failed record is sent to the same partition number in the DLQ topic as the original record.enableDlq: truedlqName: Evad05-message-dlqkeySerde: org.apache.kafka.common.serialization.Serdes$StringSerde # valueSerde: org.apache.kafka.common.serialization.Serdes$StringSerdevalueSerde: com.devilvan.pojo.Evad05MessageSerdeautoCommitOnError: trueautoCommitOffset: true注意这里的valueSerde使用了对象类型需要搭配application/json使用consumer接收到消息后会转化为json字符串 通道绑定文件添加配置application-bindings.yml channel对应上方配置文件的dqlTransfer-in-0 spring:cloud:stream:betrice-default-binder: betrice-kafkafunction:# 声明两个channeltransfer接收生产者的消息处理完后给sinkdefinition: transfer;sink;gather;gatherEcho;dqlTransfer;evad05DlqConsumerbindings:# 添加生产者bindiing输出到destination对应的topicdqlTransfer-in-0:destination: Evad10binder: ${spring.cloud.stream.betrice-default-binder}group: evad05DlqConsumer # 使用死信队列必须要有groupcontent-type: application/jsonconsumer:maxAttempts: 2 # 当消息消费失败时尝试消费该消息的最大次数消息消费失败后发布者会重新投递。默认3backOffInitialInterval: 1000 # 消息消费失败后重试消费消息的初始化间隔时间。默认1s即第一次重试消费会在1s后进行backOffMultiplier: 2 # 相邻两次重试之间的间隔时间的倍数。默认2即第二次是第一次间隔时间的2倍第三次是第二次的2倍backOffMaxInterval: 10000 # 下一次尝试重试的最大时间间隔默认为10000ms即10s。dqlTransfer-out-0:destination: Evad10binder: ${spring.cloud.stream.betrice-default-binder}content-type: text/plain# 消费死信队列中的消息evad05DlqConsumer-in-0:destination: Evad05-message-dlqbinder: ${spring.cloud.stream.betrice-default-binder}content-type: text/plainController 发送消息并将消息引入死信队列 Slf4j RestController RequestMapping(value betriceMqController) public class BetriceMqController {Resource(name streamBridgeUtils)private StreamBridge streamBridge;PostMapping(streamSend)public void streamSend(String topic, String message) {try {streamBridge.send(topic, message);log.info(发送消息 message);} catch (Exception e) {log.error(异常消息 e);}}PostMapping(streamSendDql)public void streamSendDql(String topic, String message) {try {streamBridge.send(topic, message);log.info(发送消息 message);} catch (Exception e) {log.error(异常消息 e);}}PostMapping(streamSendJsonDql)public void streamSendJsonDql(String topic) {try {Evad05MessageSerde message new Evad05MessageSerde();message.setData(evad05 test dql);message.setCount(1);streamBridge.send(topic, message);log.info(发送消息 message);} catch (Exception e) {log.error(异常消息 e);}} }Channel 这里使用了transfer通道消息从Evad10topic传来经过transfer()方法后抛出异常随后进入对应的死信队列 Configuration public class BetriceMqSubChannel {Beanpublic FunctionString, String dqlTransfer() {return message - {System.out.println(transfer: message);throw new RuntimeException(死信队列测试);};}Beanpublic ConsumerString evad05DlqConsumer() {return message - {System.out.println(Topic: evad05 Dlq Consumer: message);};} }将自定义序列化类型转换为JSON消息 步骤 1. 通道绑定文件application-bindings.yml的valueSerde属性添加自定义的序列化 2. BetriceMqController中封装该自定义类型的对象并作为消息发送 PostMapping(streamSendJsonDql) public void streamSendJsonDql(String topic) {try {Evad05MessageSerde message new Evad05MessageSerde();message.setData(evad05 test dql);message.setCount(1);streamBridge.send(topic, message);log.info(发送消息 message);} catch (Exception e) {log.error(异常消息 e);} }3. channelBetriceMqSubChannel接收到该消息并反序列化 Bean public ConsumerString evad05DlqConsumer() {return message - {System.out.println(Topic: evad05 Dlq Consumer: JSON.parseObject(message, Evad05MessageSerde.class));}; }4. 结果 参考网址 Kafka 消费端消费重试和死信队列 - Java小强技术博客 (javacui.com) spring cloud stream kafka rabbit 实现死信队列_spring cloud stream kafka 死信队列_it噩梦的博客-CSDN博客
http://www.zqtcl.cn/news/574357/

相关文章:

  • 中核工建设集团有限公司网站网站建设管理中se是什么意思
  • 网站如何做关键词引流网站怎么快速做收录
  • 网站建设文案网站设计要学哪些
  • 品牌网站建设gs平台搭建工具
  • 怎么把自己做的网站弄到域名上柳州游戏网站建设
  • 做衣服类网站策划书高端建设网站企业
  • 珠海网站建设公司有哪些代替做网站推广
  • 泰安的网站建设公司旅游网站建设规划报告怎么写
  • 如何建设淘宝客网站什么是网络营销常用的网络营销方法有哪些
  • 大连华南网站建设深圳网站建设公司的外文名是
  • 做招投标网站云南昆明网站建设价格
  • 越秀区网站建设公司微网站菜单
  • vs2017网站开发广州网站建设易得
  • 长沙企业网站建设价格陕西省门户网站建设政策
  • 龙华营销型网站制作wordpress最近评论
  • 嘉兴微信网站做一个招聘信息的网站_用什么做网站的软件
  • 各种购物网站大全上海市建设工程检测网
  • 网站推广沈阳php网站开发接口开发
  • 莱芜 做网站 公司官网开发
  • tomcat做网站做自媒体查找素材的网站
  • 信阳建设企业网站公司软件开发平台公司
  • 营销型网站建设营销型设计家官网视频
  • 部门网站建设目的加猛挣钱免费做网站软件
  • 洛阳制作网站哪家好wordpress是英文
  • dw里面怎么做网站轮播图网站建设分为多少模块
  • 国外互动网站wordpress设置用户头像
  • 重庆手机网站推广定做net创建网站之后怎么做
  • 网站仿静态做it的兼职网站
  • 建站用wordpress好吗hui怎么做网站
  • 从用户旅程角度做网站分析做网站还是做淘宝