У меня есть класс, расширяющий класс HystrixCommand, и я настраиваю следующие свойства пула потоков:
- threadPoolSize: 10
- MaximumSize: 10
- maxQueueSize: 20
- queueSizeRejectionThreshold: 50
Внутри реализации выполнения я вызываю REST-клиент. Я вызываю метод queue () для каждого вызова команды и сохраняю возвращенные фьючерсы на карте для последующей обработки.
В режиме отладки я вижу то, что для каждой созданной команды, метод run вызывается в главном потоке выполнения, в то время как я намереваюсь выполнять вызовы асинхронно.
В соответствии с документацией метода очереди: «Если настроено не запускаться в отдельном потоке, это будет иметь тот же эффект, что как execute () и будет блокировать. ", что означает" не настроен для запуска в отдельном потоке "?