欢迎访问Spring Cloud中国社区

《重新定义Spring Cloud实战》由Spring Cloud中国社区倾力打造,基于Spring Cloud的Finchley.RELEASE版本,本书内容宽度足够广、深度足够深,而且立足于生产实践,直接从生产实践出发,包含大量生产实践的配置。欢迎加微信Software_King进群答疑,国内谁在使用Spring Cloud?欢迎登记

springcloud的healthcheck导致配置更新出错

10steven · 6月前 · 538 ·

当配置文件中配置了如下:
eureka.client.healthcheck.enabled=true
就会导致调用 refresh 刷新外置配置文件报错,报错信息如下:
{ "timestamp": 1521278382874, "status": 500, "error": "Internal Server Error", "exception": "java.util.concurrent.RejectedExecutionException", "message": "Request processing failed; nested exception is java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@778db5a5 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@3318012b[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 23]", "path": "/refresh" }
原因与eureka监控检查线程池大小有关 ,即使设置了监控检查执行线程大小依然出错,解决的办法只能是把 healthcheck 置为 false。

由于项目的需求,必须同时满足 healthcheck为true 和 refresh,哪位大神有解决方案啊?还请赐教