java - hystrix 如何创建线程池

标签 java threadpool hystrix

我的应用程序正在 Websphere 应用程序服务器中运行。我正在使用 Hystrix 进行一些外部服务调用。 WAS 服务器有一个线程池配置,假设最大线程池大小为 10,HystrixThreadPoolProperties maxCoreSize 设置为 5。

我想知道 hystrix 是如何管理线程的。 hystrix 是否消耗 WAS 服务器线程池中的 5 个线程,或者是否会使用 5 个新线程创建自己的线程池,这将导致总共 15 个线程。

就我而言,我希望 hystrix 使用 WAS 线程池中的线程,而不是创建新线程。请指教。

提前致谢。

最佳答案

Hystrix 与所有通用库一样,自己管理线程池,但提供了一种插入自定义线程池或执行器的方法。

为了将 Hystrix 与 WAS 等 JavaEE 服务器集成,您需要提供 concurrency strategy ,它使用托管执行器来提供线程。在大多数 JavaEE 服务器中(我很确定在 WAS 中也是如此),托管执行程序的线程池与默认情况下 HTTP 线程使用的线程池不同 - 您仍然需要单独配置它们,或者在以下情况下将两者指定为使用相同的线程池:服务器支持。

关于java - hystrix 如何创建线程池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37741277/

相关文章:

java - 如何在选择相应的标签栏时跳转到 Fragment

android - SYSTEM_UI_FLAG_LOW_PROFILE 无法解析或不是 google threadsample 的字段

tdd - 试驾 Hystrix 断路器配置

java - HystrixObservableCommand 的 Hystrix 队列大小?

spring-cloud - 记录来自 hystrix 命令的错误

java - "server"上的 stub 是什么,骨架是什么意思?

java - 我可以在 @Embedded 中使用 @ElementCollection 吗?

java - 为什么 Java System.in.read() 可以调用 which 不是静态方法

c# - 当线程有启动参数时启动和加入线程

c - Linux C,如何安排10个等待线程以FIFO方式执行?