我的应用程序在Websphere Application Server中运行。我正在使用Hystrix进行一些外部服务调用。 WAS服务器具有线程池配置,例如最大线程池大小为10,HystrixThreadPoolProperties maxCoreSize设置为5.
我想知道如何通过hystrix管理线程。 hystrix是否从WAS服务器线程池中消耗5个线程,或者它是否会创建自己的线程池,其中包含5个新线程,这将导致总共15个线程。
在我的情况下,我希望hystrix使用WAS线程池中的线程而不是创建新线程。请指教。
提前致谢。
答案 0 :(得分:1)
Hystrix,作为所有通用库,它自己管理一个线程池,但提供了一种插入自定义线程池或执行器的方法。
为了将Hystrix与像WAS这样的JavaEE服务器集成,您需要提供一个concurrency strategy,它使用托管执行程序来提供线程。在大多数JavaEE服务器中(我非常确定也在WAS中),托管执行程序的线程池默认情况下与HTTP线程使用的线程池不同 - 您仍需要单独配置它们或指向两者使用相同的线程池如果服务器支持它,则使用线程池。