Spring framework, как загрузить сеанс в другом проекте

У меня есть проект. В первом проекте я установил сеанс

в моем первом проекте я поместил здесь как код

req.getSession().setAttribute("x", name);
return "ses";

Во втором проекте я поставил здесь

model.addAttribute("ses", req.getSession().getAttribute("x"));
return "oses";

но сеанс не появляется.

Как сделать так, чтобы сеанс появлялся в другом проекте с помощью Spring framework?


person user965347    schedule 30.10.2011    source источник


Ответы (2)


Вы не можете. (Ну, возможно, вы можете настроить какую-то репликацию сеанса, но вам не следует этого делать. См. соответствующий вопрос)

Вы должны использовать другие формы связи между вашими приложениями. Процесс будет более сложным и будет включать обмен токенами через (простые) веб-службы, но это лучше, чем полагаться на контейнер сервера и на тот факт, что оба приложения будут запускаться в одном контейнере.

person Bozho    schedule 30.10.2011
comment
Спасибо за ответ, это сложно, поэтому для связи необходимо использовать другую форму. или, может быть, мне нужно смешать в нем свое приложение, хорошо, я вижу, спасибо за ответ Божо: thumbup: - person user965347; 30.10.2011
comment
обратите внимание, что JNDI не сеансовый, а глобальный. Таким образом, вам нужно как-то идентифицировать пользователей на основе некоторого идентификатора сеанса - person Bozho; 30.10.2011

Было бы полезно описать, чего вы на самом деле пытаетесь достичь; как говорит Божо, вы не можете обмениваться объектами сеанса между приложениями.

Однако вы можете использовать JMS (или любую другую связь внутри приложения) для отправки данных из одного приложения в другое. Вам по-прежнему понадобится возможность решать, что делать с этими данными, когда они у вас есть в принимающем приложении: как связать их с данным пользователем, как передать их в сеанс этого пользователя , и так далее.

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

Как только оно у вас есть, остальное - механика; есть интересные игры, в которые можно поиграть, и легко все испортить :)

person Dave Newton    schedule 30.10.2011
comment
спасибо за ответ :) да, я думаю, мне стоит собрать его в один модуль :) спасибо за ответ мистер Дэйв - person user965347; 26.04.2012