У меня есть веб-сервиса, который, в свою очередь, вызывает 10 других WebServices и это приводит к более высокой реакции times.So я использую ExecutorService, чтобы порождать темы, созданные весной servlet.xml конфигурации, как показано ниженити Применение в котом 7
<bean id="executorService" class="org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean" scope="prototype">
<property name="corePoolSize" value="3" />
<property name="maxPoolSize" value="4" />
<property name="keepAliveSeconds" value="5" />
</bean>
Я отслеживаю потоки в JvisualVM и замечаю, что существует 3 потока исполнительных сервисов во все времена. Я пытаюсь понять, если это будет вращать 3 потока для каждого запроса, который приходит или все запросы попытаются использовать те же 3 corePoolSize, которые настроены.
Если все запросы, поступившие в продажу, собираются использовать 3 потока, необходимо увеличить размер основного пула (если да, то к какому числу)?
Также, когда я должен закрыть службу исполнителя?
Я новичок в прядильных нитках таким образом, может кто-нибудь помочь мне понять, как это работает?
Какова цель откручивания резьбы? Вы пытаетесь выполнить 10 вызовов webservice параллельно? Если да, то зачем создавать пул размером 3-4? – Andreas
Да, он должен запускать 10 запросов webservice параллельно. Мне было интересно посмотреть, работает ли оно на 3-4, а затем набирает обороты. – remo