(Это не ответ на исходный вопрос, но попытка ответить на некоторые дополнительные вопросы из области комментариев)
A Сессионный компонент может быть без состояния или 1008 * Stateful *.Если это без состояния , он принимает запрос, отправляет ответ (возможно) и впоследствии уничтожается.В сеансе stateful хранятся некоторые параметры ( state ), которые можно повторно использовать для других вызовов методов - например, bean-компонент, который просто подсчитывает, как часто он вызывается.
A синхронная веб-служба может быть реализована с помощью сессионного компонента без сохранения состояния .Он принимает запрос, выполняет некоторые вычисления, возвращает ответ и завершается (компонент может быть уничтожен).В этом случае клиент ожидает ответа, это все равно что вызывать простой Java-метод.
Это отличается для асинхронных веб-служб : служба получает запрос и либо
- получает URL-адрес обратного вызова или
- отвечает с идентификатором сеанса
В любом случае - клиент не будет ждать ответа, но продолжит,пока он не получит ответ, либо потому, что
- служба отправила ответ на метод обратного вызова клиента или
- у клиентаопрашивал несколько раз с использованием идентификатора сеанса и, в конце концов, опрашивал ответ службы.
Асинхронный сервис похож на запуск потока Java: вы запускаете его, продолжаете свою работу и в какой-то момент получаете результат (илиуведомление о том, что результат готов)
Асинхронной службе требуется какое-то постоянное хранилище для хранения идентификатора сеанса или URL обратного вызова , а thСервисный сеанс активен. сеанс службы с состоянием, сессионные компоненты , необходимые для службы, могут быть без состояний .