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

商城网站开发与设计横沥镇网站建设

商城网站开发与设计,横沥镇网站建设,wordpress数据库位置,弄个网站需要多少钱转载自 springboot手动提交kafka offset enable.auto.commit参数设置成了false 但是测试发现enable.auto.commit参数设置成了false#xff0c;kafka的offset依然提交了#xff08;也没有进行人工提交offset#xff09;。 查看源码 如果我们enable.auto.commit设置为false…转载自 springboot手动提交kafka offset enable.auto.commit参数设置成了false 但是测试发现enable.auto.commit参数设置成了falsekafka的offset依然提交了也没有进行人工提交offset。 查看源码 如果我们enable.auto.commit设置为false那么就会走标红的if语句。而且下面有个stopInvokerAndCommitManualAcks()方法看名字就知道是人工提交的意思。那么我们进去stopInvokerAndCommitManualAcks()方法瞅瞅。  如上图所示有个processCommits()方法那么继续追进去  单单看标红的方法是不是就知道这方法里面是更新offset和提交offset的方法。那么我们继续追进去 结论如果我们把enable.auto.commit参数设置成true。那么offset交给kafka来管理offset进行默认的提交模式。  enable.auto.commit参数设置成false。那么就是Spring来替为我们做人工提交从而简化了人工提交的方式。  所以kafka和springboot结合中的enable.auto.commit为false为spring的人工提交模式。enable.auto.commit为true是采用kafka的默认提交模式。  手动提交 spring.kafka.consumer.enable-auto-commit设置为false设置AckMode的值 /*** The offset commit behavior enumeration.*/public enum AckMode {/*** Commit after each record is processed by the listener.*/RECORD,/*** Commit whatever has already been processed before the next poll.*/BATCH,/*** Commit pending updates after* {link ContainerProperties#setAckTime(long) ackTime} has elapsed.*/TIME,/*** Commit pending updates after* {link ContainerProperties#setAckCount(int) ackCount} has been* exceeded.*/COUNT,/*** Commit pending updates after* {link ContainerProperties#setAckCount(int) ackCount} has been* exceeded or after {link ContainerProperties#setAckTime(long)* ackTime} has elapsed.*/COUNT_TIME,/*** User takes responsibility for acks using an* {link AcknowledgingMessageListener}.*/MANUAL,/*** User takes responsibility for acks using an* {link AcknowledgingMessageListener}. The consumer is woken to RECORD 每处理一条commit一次BATCH(默认) 每次poll的时候批量提交一次频率取决于每次poll的调用频率TIME  每次间隔ackTime的时间去commitCOUNT  累积达到ackCount次的ack去commitCOUNT_TIME ackTime或ackCount哪个条件先满足就commitMANUAL listener负责ack但是背后也是批量上去MANUAL_IMMEDIATE listner负责ack每调用一次就立即commit manual commit KafkaListener(topics k010)public void listen(ConsumerRecord?, ? cr,Acknowledgment ack) throws Exception {LOGGER.info(cr.toString());ack.acknowledge();} 方法参数里头传递Acknowledgment然后手工ack 如果只添加上面语句会报错 the listener container must have a MANUAL Ackmode to populate the Acknowledgment 我们要配置AckMode为MANUAL Ackmode factory.getContainerProperties().setAckMode(AbstractMessageListenerContainer.AckMode.MANUAL);
http://wiki.neutronadmin.com/news/496555/

相关文章:

  • 实验教学中心网站建设山西seo推广系统
  • 网站建设心得体会总结山东济南网网站建设
  • 企业网站的基本功能有哪些api网站网址大全
  • 中小企业建站实战挂机宝可以做网站吗
  • wordpress 界面优化东莞网络优化哪家强
  • 企业网站内容更新网站备案成功后怎么建设
  • 全媒体门户网站建设关于网站建设论文
  • 北京南站是中高风险地区吗紫金优化网站制作
  • 实现网站开发罗湖住房和建设局官网
  • 网站建设培训一般多少钱如何网页制作
  • 网站建设需要注意哪些细节宝安各大网站制作比较好的
  • 网站导航条背景图片办文明网站做文明网民活动方案
  • html5自适应网站模版网站的动画效果代码大全
  • 重庆门户网站推广方案辽宁建设工程信息网补遗文件
  • 简单网站后台模板wordpress上站工具
  • 赣州培训网站开发刷网站排名怎么刷
  • 网站推广站点建设与策划江苏网站开发电话
  • seo精华网站网站制作用什么编程
  • 阿里云建设网站的步骤泉州做网站设计公司
  • 内网建站工具安卓网站客户端制作软件
  • 免费asp网站后台管理系统写wordpress导航栏
  • 做中英文网站公司中国石油销售公司网站建设
  • 企业做网站要注意哪些企业网站建设效果
  • 网站建设宣传图pswordpress rss
  • 怎样查一个网站的空间商阿里云备案 网站备案域名
  • 建站公司 深圳怎么建立一个文档
  • 建设一个网站用什么搭建珠海网站建设 旭洁
  • 什么是网站设计种类印度做网站
  • 低代码网站开发平台学历提升的好处
  • 渭南微信小程序网站建设那个网站做3d