Мне нужно разработать три разных приложения. Но все они имеют что-то общее, например, управление пользователями, а также некоторые бизнес-логики. Поэтому я хочу переместить эту общую часть в отдельную банку (войну?) И использовать ее в качестве зависимости в этих трех проектах. Насколько я знаю, если у меня много разума в ухе, я не могу разделить сеанс между войнами. Поэтому наличие двух войн для одного приложения кажется мне не очень хорошим вариантом. Но в этой общей части у меня будут некоторые сервлеты и websocket, поэтому я должен упаковать ее в войну. Поэтому я смущен правильным способом сделать это. В идеале, я хочу собрать каждое приложение в одной войне, мне кажется легче, чем уха и java ee 7 позволяет это.Упаковка Приложение Java EE
ответ
Я не думаю, что есть способ поделиться сеансами, и это, вероятно, не очень хорошая идея, но вы можете реализовать Single Sign On (SSO) с использованием одного из множества методов и/или использовать domain- и используйте эту информацию для поиска информации в вашей базе данных.
Обычно рекомендуется держать сеанс очень легким, например. сохраняя только пользовательский ключ в сеансе и в любом случае выискивайте, что вам нужно в базе данных, так что это не так уж и важно.
В этом случае неважно, упаковали ли вы свои приложения в виде отдельных войн или уха, однако, если вы упаковываете его в ухо, вы можете делиться библиотеками между приложениями, не дублируя их. Если вы упаковываете как отдельные войны, вам нужно будет включить «общие» банки в каждой войне.
Просто уточнить GreyBeardedGeek ответ:
Пакет ваших общих зависимостей в некоторых банках и включить их в зависимых войнах. (Wars - это архивы веб-приложений, то есть они содержат классы (сервлеты), которые будут управляться веб-контейнером и соответствующим дескриптором развертывания (web.xml), война не должна использоваться для пакетов зависимостей).
Если вы хотите избежать многократной загрузки зависимостей (jar), вы можете упаковать 3 разных приложения (войны) в том же ухе и поместить общие зависимости (банки) в каталог ушей lib.
В этом случае зависимости будут загружаться на уровне ушей и распределены между всеми приложениями, но вы не сможете использовать разные версии этих баннеров в разных приложениях.
Я бы посмотрел The Java EE 7 Tutorial. Посмотрите на Примеры из практики раздел. Вас будут интересовать два; (1) «Пример изучения примера обучения герцога» и (2) «Пример примера изучения герцогского леса». Оба показывают, как это делается. Последнее представляет собой простое приложение электронной коммерции, которое содержит несколько веб-приложений; Магазин герцога, доставка герцога, оплата герцога, ресурсы герцога, сущности & События. Они могут использоваться совместно с другими проектами.
Вы можете получить код с these