запустить по одному планировщику за раз - PullRequest
1 голос
/ 27 сентября 2011

У меня есть два компонента, на которых работает планировщик

<bean id="eventService" class="xxx.xxxx.xxxxx.EventSchedulerImpl">
</bean>

<bean id="UpdateService" class="xxx.xxxx.xxxxx.UpdateSchedulerImpl">
</bean>

Я хочу убедиться, что одновременно работает только один планировщик когда EventSchedulerImpl запущен это будет работать? мне нужно сделать больше?

оцените вашу идею, ребята

1 Ответ

1 голос
/ 27 сентября 2011

Один из способов заключается в том, чтобы настроить специальный исполнитель задач, чтобы он содержал только один поток в своем пуле потоков, и настроить его емкость очереди так, чтобы задания можно было держать в режиме ожидания. Таким образом, одновременно с этим исполнителем может выполняться только одна задача, а другая задача будет поставлена ​​в очередь.

Но мне не нравится этот подход. Наличие однопоточного исполнителя задач похоже на рецепт проблем в будущем.

Я бы просто написал сервис-обертку, который вызывает ваши целевые сервисы в нужном вам порядке. Затем вместо этого запланируйте службу оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...