开发者社区> 问答> 正文

偶尔出现 Reason: maxEvictableIdleTimeMillis must be gr

spring.datasource.admin.min-evictable-idle-time-millis=600000 spring.datasource.admin.max-evictable-idle-time-millis=900000 我配置的max明显比min大,但是偶尔会出现 Reason: maxEvictableIdleTimeMillis must be grater than bug,不常见,10次大概有2次,重启就没有了,不影响运行

原提问者GitHub用户1725636955

展开
收起
山海行 2023-07-05 19:27:41 582 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    个错误是因为maxEvictableIdleTimeMillis配置的值小于等于0。

    maxEvictableIdleTimeMillis用于设置连接可回收的最长空闲时间。

    它必须设置为一个正整数,否则会报这个错误。

    2023-07-30 17:12:15
    赞同 展开评论 打赏
  • 出现 "Reason: maxEvictableIdleTimeMillis must be greater than minEvictableIdleTimeMillis" 的错误通常是由于配置错误导致的。

    根据您提供的配置信息,您设置了最小空闲时间为 600000 毫秒(10 分钟),最大空闲时间为 900000 毫秒(15 分钟)。根据配置,最大空闲时间应该大于最小空闲时间。

    如果偶尔出现错误并且重启后问题消失,这可能是由于某些连接在最大空闲时间内没有被正确清理而导致的。这可能与连接池中的连接状态或其他因素有关。

    2023-07-11 09:34:33
    赞同 展开评论 打赏
  • 我的也是 同样的问题 暂时这样解决的 @bean(name = "dataSource") @ConfigurationProperties(prefix = "xx.xx.druid") public DataSource getOrderDataSource() {

    DruidDataSource dataSource = new DruidDataSource();
    
    /**setMinEvictableIdleTimeMillis需要先设置*/
    dataSource.setMinEvictableIdleTimeMillis(druidConfig.getMinEvictableIdleTimeMillis());
    dataSource.setMaxEvictableIdleTimeMillis(druidConfig.getMaxEvictableIdleTimeMillis());
    
    return dataSource;
    

    }

    原回答者GitHub用户DreamUFO

    2023-07-06 11:00:42
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载