Я пытаюсь узнать о J2EE и веб-сервисах (в GlassFish 3.1).Этот вопрос является небольшим дополнением к this .
Я выяснил, как использовать Session Beans и Stateless Session Beans.Я на самом деле использую только Web-сервис (@WebService
) из-за удобства, так как я бы не хотел анализировать сообщения вручную.Хотя я бы предпочел что-то более легкое, чем SOAP, если это возможно.Однако я столкнулся с проблемой, когда хочу сохранить какое-то состояние (например, с помощью Stateful Session Beans).Я искал этот сайт и несколько других, рекомендующих мне избегать этого, потому что это может привести к трудностям в поиске ошибок и ограничению масштабируемости.
Предположим, у меня есть пользователь, который только что выполнил метод "userLogin", и он успешно,Как я тогда узнаю на сервере, что пользователь уже вошел в систему. Например, после входа в систему пользователь может вызвать «getProfile ()» через SOAP (без каких-либо аргументов), и я верну правильную информацию для этого пользователя.Я знаю, что это невозможно, добавив @WebService
к моему Stateful Session Bean, поскольку это допустимо только с @Stateless
.
. Я знаю, как сохранить состояние, если я использую HttpSession (с HttpServlet) вместе сс сеансными компонентами без сохранения состояния, но тогда я не могу использовать красиво сгенерированные SOAP-сообщения.
Итак, мой вопрос: как бы я решил эту проблему поддержания состояния пользователя или адаптировал проблему так, чтобы мне не требовалось состояние?