【发布时间】:2020-12-17 10:08:56
【问题描述】:
我正在使用 HystrixCommand 来强制长时间运行的查询超时。哪个工作得很好。使用配置的时间查询超时。 但是如果负载断路器打开并开始拒绝请求并出现以下错误。
任务 java.util.concurrent.FutureTask@59c4b527 从 java.util.concurrent.ThreadPoolExecutor@51cd4319 被拒绝[正在运行,池大小 = 10,活动线程 = 10,排队任务 = 0,已完成任务 = 12759]
我试图覆盖 Archaius 为线程池提供的默认配置(如 corepool 大小、最大池大小、队列大小等......)。但不知何故,它并没有变得有效。以下是我在 application.yml 文件中的配置。
hystrix: 命令: 查询超时处理程序: 执行: 隔离: 线: 超时毫秒:600000 线程池: 查询超时处理程序: 核心大小:200 最大尺寸:200 最大队列大小:100 queueSizeRejectionThreshold:100 allowMaximumSizeToDivergeFromCoreSize: true
因此,对于配置,我期望线程数应该是 200。它应该一次服务 200 个请求,并且应该排队 100 个。但不幸的是它没有发生。
我如何在生产中运行的应用程序中检查我的配置?
【问题讨论】:
标签: threadpool hystrix