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

中山网站建设备案可做设计任务的网站

中山网站建设备案,可做设计任务的网站,聊城专业网站建设制作,订货网站怎么做springboot启动忽略某些类 描述解决方案单拉一个提交,把所有的涉及kafka消费的都不注入容器通过配置ComponentScan的excludeFilters配置了不生效后续处理改之前改之后解释 总结 拆分环境 感触解决实现demo参考 描述 目前我这的开发环境和测试环境数据库是两份&#…

springboot启动忽略某些类

  • 描述
  • 解决方案
    • 单拉一个提交,把所有的涉及kafka消费的都不注入容器
    • 通过配置@ComponentScan的excludeFilters
      • 配置了不生效
      • 后续处理
        • 改之前
        • 改之后
        • 解释
      • 总结
    • 拆分环境
  • 感触
  • 解决实现demo
  • 参考

描述

目前我这的开发环境和测试环境数据库是两份,但是其他如kafkarediseureka等等之类的,都是公用的。
这就会产生一个问题,我想本地跑单元测试,但是kafka消费到了测试环境的数据,然后异常重试又发送了延迟队列(我这里的延迟队列是基于kafka实现的),然后被测试环境消费了,然后报警群里狂刷测试环境告警。

解决方案

单拉一个提交,把所有的涉及kafka消费的都不注入容器

这个存在一些问题:
1、第一次工作量有点大,我这项目有近20个消费,点的手有点累
2、自测的时候得convert这个提交,好了之后再convert,麻烦而且容易忘,忘了就是事故。。

通过配置@ComponentScan的excludeFilters

配置了不生效

@Configuration
@ComponentScan(
excludeFilters = {@ComponentScan.Filter(type = FilterType.REGEX, pattern = {"[.a-zA-Z]+InjectService"})
})
public class DevConfig {}

如上,单独拉了一个配置类,指定了正则过滤,配置了正则表达式,然后,它没起作用。报警群又刷了一遍。。
后面查了一下资料,说是取交集。即使你这里没有让他扫描到,其他的@ComponentScan扫描到了还是一样。。于是,全局搜索,果然找到了

后续处理

一些指定扫描路径不冲突的可以忽略,像SpringfoxWebMvcConfigurationSwaggerCommonConfiguration之类的。我这找到两个关联性的,一个是启动类上的包路径扫描,另一个是基础单元测试jar包上写死的路径扫描。
交集,所以我得把扫描的汇总起来。单元测试的基本废弃没用了,直接把它排除了吧,如果要用的话只能通过复制类改扫描范围了。启动类的话,我的处理方案是转移到后面新拉的配置类上。

改之前

在这里插入图片描述
在这里插入图片描述

改之后

在这里插入图片描述
在这里插入图片描述

解释

这里我让启动类扫描指定文件夹,文件夹下只有我定义的配置,然后在从这个配置上读取新的扫描包路径,并且过滤指定类,如此,把所有的扫描都汇总了。至于上面说的排除类,在配置一个过滤规则就好了,我就不写了。本地没用依赖那个jar包。。

总结

这种方案的完美解决了第一个的缺点:
1、操作简单,不用在每个消费者身上都改代码,我的理解是功能聚合了。
2、不会出现事故,你第一次修改验证通过之后,后面可以修改.gitignore文件,把这个类排除掉,这样就不存在误提交了。

注意,有个小坑哈,记得这个配置类别和你要排除的类放一起,不然启动类的路径还是能扫描到的。。。我这里特地拉出一个单独的目录给它

拆分环境

一种方案是还是公用资源,但是走不同路径,比如配置化用不同的topic。单服务还好,多服务得一起改。而且得看情况,像我这难得搞一次单元测试兴师动众有点过分了

感触

1、封装基础包的时候,最好限定好范围。只处理能处理的,越精确越好。
2、基础包代码最好也有git地址,可追溯修改。我这基础包真就一个包了,没法改。。
3、有可能的话,各个环境隔离
4、如果有其他好的方案,欢迎评论哈。

解决实现demo

参考实现

参考

componentscan-excludefilters-not-working-in-spring-4-0-6-release

http://www.yayakq.cn/news/803295/

相关文章:

  • 优秀网站管理员商城网站建设找谁做
  • 用vs做网站如何连接数据库wordpress4.7源码下载
  • 舒城网站建设陕西锦宇建设有限公司网站
  • 网站维护中页面代码搜狗网
  • 深圳网站建设有市场吗丰台网站开发公司
  • 上海恒鑫网站建设诏安县城乡建设局网站
  • 上海做网站比较好的公司asp.net网站建设项目实战资料
  • 网站后台管理系统怎么添加框企业网站的分类
  • 自己做视频网站能赚钱吗大庆建设银行网站
  • 接活做图网站网站买源代码
  • 网站源文件修改wordpress 表情符号
  • 电商pc网站建设方案北京网站备案核验单
  • 诚信网站建设的意义中国公司排行榜
  • 国外做动运服装的网站徐州网站关键词
  • 杭州电商网站平台开发公司九九建筑网
  • 小程序如何推广引流番禺seo培训
  • 石家庄视频剪辑培训学校seo营销工具
  • 昆山便宜做网站昆明网站建设seo公司哪家好
  • 网站收录很少却有排名wordpress themes 目录
  • 东莞网站推广模式效果图制作软件app
  • php网站出现乱码如何帮客户做网站
  • 大众点评网站团购怎么做电子商务与网站建设实践论文
  • 网站建设公司 技术评估石家庄建立网站的公司
  • 怎么设置网站栏目长沙做网站的费用
  • 用asp做网站流程公司网站维护一般需要做什么
  • 电子商务网站建设与维护的考试黄金网站app大全
  • 机械类毕业设计代做网站推荐node.js做企业网站
  • 肥乡县建设局网站百度指数网
  • 我的世界服务器如何做充钱网站加工平台用什么材料
  • 网站建设需要投资多少长沙网站设计公司推荐