Java hystrix-使用.toObservable()时出现奇怪的线程行为
我有一组HystrixCommand,它包装了一个阻塞IO操作(一个JAX-WSWeb服务客户端调用),我希望将其组合为可观察对象(使用列表上的merge),因此我在命令上使用toObservable(),并在Schedulers.IO()上调度它 我从appserver日志和仪表板上看到的是,所有WS调用似乎都在该命令的hystrix池的第一个线程上运行,但执行时间似乎与它们在不同线程上并发运行一致Java hystrix-使用.toObservable()时出现奇怪的线程行为,java,multithreading,rx-java,hystrix,Java,Multithreading,Rx Java,Hystrix,我有一组HystrixCommand,它包装了一个阻塞IO操作(一个JAX-WSWeb服务客户端调用),我希望将其组合为可观察对象(使用列表上的merge),因此我在命令上使用toObservable(),并在Schedulers.IO()上调度它 我从appserver日志和仪表板上看到的是,所有WS调用似乎都在该命令的hystrix池的第一个线程上运行,但执行时间似乎与它们在不同线程上并发运行一致 这与Schedulers.io()使用的CachedThreadScheduler有关,还是我
这与Schedulers.io()使用的CachedThreadScheduler有关,还是我配置错误(使用coreSize 0和maxSize 10的线程隔离)?此外,如果这是真的,那么即使我的工作负载阻塞,我也应该使用信号量隔离吗?仅供参考:所描述的行为与我使用的配置是一致的:线程池倾向于在增加超过其核心大小的线程数之前填满队列。由于我将core size设置为0,并且我正在调度一个小于队列长度的数字,因此一次只执行一个作业。仅供参考:所描述的行为与我使用的配置相同:线程池倾向于在增加超过其core size的线程数之前填充队列。由于我将核心大小设置为0,并且调度的数量小于队列长度,因此一次只执行一个作业。