EE规范不鼓励在容器中创建线程。但是对于Hystrix实现线程隔离的隔板模式,它需要创建新线程。所以我的问题是,如果应用程序使用Hystrix进行远程调用,并且该应用程序部署在诸如wildfly的EE容器中,并且Hystrix配置为为隔板模式启用了线程池,这是否会导致容器上的冲突关于新线程的创建?
答案 0 :(得分:0)
我们通过将maximumSize设置为小于coreSize来引发此错误。
17:52:37,412 ERROR [com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy](EE-ManagedExecutorService-default-Thread-1)启动时的Hystrix ThreadPool配置:TEST_THREAD_POOL正在尝试设置coreSize = 15和maximumSize = 10.最大大小将设置为15,即coreSize值,因为它必须等于或大于coreSize值
Hystrix将maximumSize与coreSize相同。
但最重要的信息是在幕后,Hystrix使用EE-ManagedExecutorService,这就是我们想要的。