alibaba druid 在springboot start autoconfig 下的bug

  • 时间:
  • 浏览:3
  • 来源:uu快3网站_uu快3充值_玩法

第一反应肯定是配置错了,检查配置。

亲戚大伙儿 使用的java开发框架是封装好的。框架对数据源的支持是master、slave架构的,而是可不还可不可以 一组多从数据源,外部会自动进行主从写入、查询切换。

亲戚大伙儿 使用springboot框架,datasource config 基于springboot properties进行配置。假如使用configuration 进行自动druid daasource bean的创建。这看起来好像没那些问题报告 。

好像没错啊,假如在debug下,问题报告 同样总出 。minEvictableIdleTimeMillis属性和maxEvictableIdleTimeMillis属性的前后顺序好像也没问题报告 。试试看的心里,将有有一个 多属性前后顺序交换下,问题报告 还是总出 。

导致 全是springboot,一般前会 本人来初始化所有的属性。从配置文件加载配置,假如手动设置DruidDataSource bean。

二:假如本人先设置一下这有有一个 多属性,springboot autoconfig 的过后就不要再出错

发现问题报告 了,在进行setMaxEvictableIdleTimeMillis措施的过后,minEvictableIdleTimeMillis属性的值是160 0000。

离米 意思是说,'maxEvictableIdleTimeMillis'最大存活时间需要大于'minEvictableIdleTimeMillis'最小存活时间。

有有一个 劲能明白,虽然有关于开源的好处,你导致 获益了。可不还可不可以 同去参与使用,同去参与发现问题报告 ,同去参与fixbug。这你说歌词 而是linux、git例如于于优秀艺术品头上的核心技术价值观。

通过debug,发现直接new DruidDataSource()使用数据源,不要再走到init措施。不要再进入到触发报错的地方。貌似我的代码路径应该不要再产生你这人 检查。继续运行,看setMaxEvictableIdleTimeMillis措施那些情况汇报。

问题报告 到这里分析就过后开始 了。你这人 小bug,alibaba druid 导致 fix。

导致 你对咋样fix感兴趣,请参看druid 有关于autoconfiger修复的代码:

https://github.com/lihengming/druid/commit/ca13e8ff5a78c83f953fa8fb320c56be223219e1

全局查找的过后有两处有你这人 exception的throw。

一: init 措施

minEvictableIdleTimeMillis 属性有有一个 多多default值。单位是ms(millisecond),什么都有有有这里的default 值是60 m(minute)分钟。

没多想,就直接用你这人 措施使用了。假如在启动的过后,初始化bean的过后就报错了。

什么都有有有直接在这有有一个 多地方打上断点,假如debug,在跟踪下变量的值基本就知道问题报告 在哪里了。

github 地址:https://github.com/Plen-wang

感觉你这人 问题报告 很重诡异了,时间要紧,直接找到报错的地方,进行源码跟踪。

上 github search alibaba druid 首页,直接gith clone下来,定位到错误提示的位置。

这有有一个 多措施逻辑都比较简单,init初始化的过后会检查这有有一个 多bean属性的值。setMaxEvictableIdleTimeMillis,设置你这人 最大存活时间的过后有有一个 多多检查。导致 你的最大存活时间小于最小存活时间直接报错。

二:setMaxEvictableIdleTimeMillis 措施

'maxEvictableIdleTimeMillis' threw exception; nested exception is java.lang.IllegalArgumentException: maxEvictableIdleTimeMillis must be grater than minEvictableIdleTimeMillis

标签(空格分隔):druid springboot start autoconfig

亲戚大伙儿 现在居于.net专java过程中,特殊场景下新java系统需要连接有有一个 多数据源,默认连接mysql数据源,假如假如还需要查询sqlserver数据源来获取一些兼容性数据。

什么都有有有,在配置第有一个 数据源的过后,系统load就报错。

蒙蔽情况汇报~_~。

看下你这人 值哪里来的。

最近在使用alibaba druid进行多数据源连接的过后无意中发现有有一个 多小bug,导致 提交github issue 官方导致 fix。issue 地址:https://github.com/alibaba/druid/issues/1796

假如继续debug,先绕过你这人 检查,看是全是setMinEvictableIdleTimeMillis 措施在setMaxEvictableIdleTimeMillis 措施过后执行,导致 你这人 检查和配置顺序冲突。

debug下来,虽然是你这人 问题报告 。假如就比较好奇,亲戚大伙儿 现在所使用的你这人 框架帮亲戚大伙儿 封装了druid的过后是为什么在除理的,通过查看框架源码,里边有有一个 多多hashcode的排序,除理了你这人 问题报告 。(甜得老司机,高手)这里就不展开了。

可不还可不可以 并能 亲戚大伙儿 导致 除理你这人 问题报告 ,虽然很简单,知道问题报告 在哪里绕过去还是很简单的。

一:先把配置的minEvictableIdleTimeMillis、maxEvictableIdleTimeMillis获取进来

为了便于阅读,我删掉了init中对亲戚大伙儿 分析问题报告 来说无用的代码。

亲戚大伙儿 配置的是60 0000ms,什么都有有有比160 0000小。假如你这人 就奇怪了,亲戚大伙儿 明明设置了minEvictableIdleTimeMillis 参数。为那些没起作用,一下子就想到是全是顺序问题报告 。

猜你喜欢

三星w2018组装机多少钱!

可选中两个 或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。提示:请各位消费者在收到这种于中奖或极低价格购机信息时谨慎对待,补救上当受骗。使用百度知

2020-03-22

王者荣耀拒绝了一次人脸识别,时候不弹出,每天只能玩一个小时,已成年,卸载重下已经试过了

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。追问不怎么推荐不采纳的全是蔡徐坤。你对你这人 回答的评价是?追答收起更多回答(6)你对你这人 回答的

2020-03-22

网宿科技孙靖泽:CDN规模门槛为5T,整合潮年底就会出现

业内人士认为,CDN行业是另另四个靠规模取胜的行业,原因分析分析手里的服务器和强度很多,能应对的峰值就越高,越来越 也就更有能力做更大的客户。这几年随着市场需求的不断扩大,以

2020-03-22

OPPO哪一款手机比较好

换一换下载百度知道APP,抢鲜体验展开完正扫描二维码下载其他人刚买了oppor15,用了有另一有一个月了,感觉手感比较好,因此 运行传输数率还能要能,外观也比较好看,拿起来

2020-03-21

阿里云数据库资深专家林伟:大规模计算平台研究与实战

【云栖大会】高可用、高并发、高性能架构实战经验昨夜难忘?今晚20点,容器、后面 件、负载均衡等实战交流继续!进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

2020-03-21