Менеджер работы WebSphere с Spring @Scheduled
Как использовать менеджер работы IBM WebSphere вместе с аннотацией Spring в моем сервлете?
Весна дает . Это позволяет настроить диспетчер работы, как описано в документации WebSphere или в этом ответе SO . Однако я не вижу отношения к аннотации и не могу найти никакой документации, как это работает внутри.
Интересно, это собственная реализация или какая-то оболочка для
DefaultManagedTaskExecutor
.
Моя цель - настроить запланированные задачи удобным способом (как указано в
@Scheduled
), но мне нужно, чтобы потоки задач, созданные планировщиком, управлялись WebSphere.
1 ответ
Я понимаю, что вы имеете в виду, что документация Spring выглядит расплывчатой относительно отношения между исполнителями задач, которые вы настраиваете, и
@Scheduled
. При отсутствии такой гарантии вы могли бы наблюдательно проверить, выполняются ли запланированные задачи в потоках WebSphere Application Server, распечатав стек одним из ваших методов и подтвердив наличие
com.ibm.ws.*
пакеты. Один простой способ сделать это:
new Exception("capturing the stack").printStackTrace(System.out);
Весна
DefaultManagedTaskExecutor
задокументирован, чтобы полагаться на
java:comp/DefaultManagedExecutorService
, который требует Java EE 8 (или Jakarta EE) и должен работать с традиционной версией 9 WebSphere Application Server. Он также должен работать с WebSphere Application Server Liberty.
Если вы используете версию 8.5.5 или более раннюю, вам понадобится
WorkManagerTaskExecutor
(упоминается в одном из документов, которые вы связали), который основан на CommonJ WorkManager.