• 记录一个 spring cloud 配置中心的坑,命令行端口参数无效,被覆盖,编码集问题无法读取文件等.


    spring cloud 配置中心 结合GIT , 可以运行时更新配置文件.发送指令让应用重新读取配置文件.

    最近在测试服务器实现了一套,结果CPU 实用率暴增,使用docker compose启动 restart always 多节点的服务一直重启关闭重启关闭.

    日志文件记录了一个异常: 国内国外搜了一遍都没有解决

    org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaAutoServiceRegistration': 
    Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)

    直到有一个应用抛了一个端口被占用的异常后,才恍然大悟

    原因如下,在当前配置文件中,application-test中的端口配置为:

    #服务器参数配置
    server:
      port: 8060
      max-threads: 2000
      max-connections: 2000

    一般情况下我们 docker cmd 或者  entrypoint 启动应用

    命令为:

    java -jar app.jar --spring.profiles.active=test --server.port=8060

    在没有使用配置中心的时候,Spring 应用会根据命令行的参数的服务端口启动.

    但是使用了配置中心,应用启动时去GIT 获取配置文件的时候,会把命令行的参数覆盖掉

    解决办法就是:注释掉,或者不写,反正也没有必要写

    #服务器参数配置
    server:
      # port: 8060
      max-threads: 2000
      max-connections: 2000

    还有注意配置文件编码集,会引发无法读取配置文件的问题.抛出以下异常

    java.lang.IllegalStateException: Failed to load property source from location 'file:/tmp/config-repo-3518188927963973603/config/zuul-router-prod.yml'
  • 相关阅读:
    Poj 2104 K-th Number(主席树&&整体二分)
    Bzoj 3262: 陌上花开(CDQ分治)
    Bzoj 2683: 简单题(CDQ分治)
    ZOJ2314 Reactor Cooling(无源汇上下界可行流)
    Cogs 12. 运输问题2(有上下界的有源汇最大流)
    Cogs 461. [网络流24题] 餐巾(费用流)
    Codevs 1227 方格取数 2(费用流)
    Cogs 13. 运输问题4(费用流)
    Poj 2195 Going Home(费用流)
    开学第二测
  • 原文地址:https://www.cnblogs.com/sweetchildomine/p/7466094.html
Copyright © 2020-2023  润新知