Весенняя сессия + Redis + JSF - PullRequest
       8

Весенняя сессия + Redis + JSF

0 голосов
/ 06 сентября 2018

В настоящее время я работаю над проектом, в котором мне нужно вывести сеанс HTTP и другие объекты (такие как состояние JSF, контроллеры и т. Д.). Мой проект полностью использует JEE, используя JSF на веб-уровне (плюс PrimeFaces и некоторые другие библиотеки). Работает на Payara Server, используя Docker на AWS.

Мои контроллеры полностью сохраняют состояние, и мне нужно придерживаться этого. Я исследую, как можно легко вывести пользовательский сеанс без изменения большого количества кода, и я узнал о Spring Session. Проблема в том, что у меня нулевой опыт работы со Spring и как его внедрить в свой проект, и все, что я провалил до сих пор, все мои попытки

Я не пользуюсь Maven, и на данный момент я вряд ли смогу его использовать, поскольку проект слишком велик для перемещения, поэтому мне приходится импортировать все библиотеки вручную. Я просто хочу импортировать библиотеки (Spring + Spring Session), настроить доступ Redis и изменить как можно меньше кода. Это может быть так просто?

Мой вопрос: каков наилучший подход к использованию Spring Session в моей ситуации? Кто-нибудь знает лучший / более простой способ вывода сеанса JSF в Redis?

Спасибо.

1 Ответ

0 голосов
/ 07 сентября 2018

Что бы я сделал: я бы не стал изобретать велосипед, очень вероятно, что в вашем бюджете не хватает свободного времени и денег, чтобы найти такое решение.

Почему?

У вас есть большой проект, основанный на муравьях, Spring основан на Maven, у него настолько огромное дерево зависимостей, что вы не сможете управлять им без Maven (я не хотел бы даже пытаться построить Hello World без Maven. весной-ботинок / mvc). Даже если бы вы могли как-то соединить их, держу пари, что из-за различий в версиях jar будет много проблем с classpath. Вы должны обратить внимание на вашу используемую версию Java, вы должны выбрать версию Spring, чтобы ваш JDK был поддержан Spring.

И есть технологическая разница: вы, вероятно, сможете вызывать бины Spring из EJB или наоборот, используя CDI (по крайней мере, это сработало так на Wildfly), но если вы обдумаете это, вы не нравится делать это. Если бы вы когда-нибудь работали с Spring, вы бы знали, что это, кхм, нелегко.

И последнее, но не менее важное: вы хотели бы заменить / внедрить репликацию сеанса Payara с использованием Spring ... для того, чтобы сделать это, вы должны очень хорошо знать внутреннее устройство Payara, внутреннее устройство Spring и многое другое для сделай это.

В целом, если бы я был вами, я бы реализовал либо стандартную репликацию сеанса, либо, что еще лучше, серверную часть без сохранения состояния. У вас может быть больше кластеров, и таким образом вы не будете реплицировать свои сеансы между всеми узлами.

Вы действительно должны подумать о том, чтобы двигаться в сторону либо maven, либо gradle, в долгосрочной перспективе это будет иметь почти только преимущества. Netbeans поддерживает это хорошо. Единственный недостаток, если у вас много пользовательских задач ant, но есть maven-antrun-plugin, и, если вам ничего не поможет, написать собственный плагин maven несложно.

...