Websphere Liberty: асинхронные процессы планирования - PullRequest
1 голос
/ 27 января 2020

Я перевожу свое приложение из традиционной веб-среды в среду.

В коде используются асинхронные процессы планирования.

Как выполнить миграцию этого кода в среду веб-сферы.

При попытке настроить это вольностью (сервер. xml) я обнаружил 3 элемента

a) Управляемый запланированный исполнитель

b) Постоянный запланированный исполнитель

c ) Управляемый исполнитель

Что из этого можно использовать?

1 Ответ

0 голосов
/ 27 января 2020

Опции (A) и (C) можно использовать, включив функцию concurrent-1.0 на сервере. xml.

Обычно их не требуется явно настраивать на сервере. xml, и может использоваться непосредственно в вашем приложении, например так:

import javax.enterprise.concurrent.*;
// ...

@Resource
ManagedScheduledExecutorService scheduledExec;

@Resource
ManagedExecutorService exec;

«Служба по расписанию» расширяет незапланированный вариант и добавляет некоторые методы для вызова задач по какому-либо расписанию, например: Фиксированная скорость или фиксированная задержка.

Javado c для ManagedExecutorService можно найти здесь: https://openliberty.io/docs/ref/javaee/8/#package = javax / enterprise / concurrent / package-frame.html & class = javax / enterprise /concurrent/ManagedScheduledExecutorService.html

Для опции (B) это компонент SPI, который позволяет сохранять таймеры EJB. Приложения не используют его напрямую, но всякий раз, когда EJB использует @Schedule(persistent=true, ...), будет использоваться служба постоянного таймера.

...