Динамически создавать навигационное меню на основе развернутых фляг - PullRequest
1 голос
/ 20 августа 2009

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

Я создаю веб-приложение, используя JSP-страницы на клиенте с сервером JBoss, на котором работает J2EE, в середине - веб-сервер tomcat.

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

Для поддержки этого я бы хотел, чтобы в меню навигации клиента отображались только доступные разделы в зависимости от того, что развернуто на сервере JBoss. Может ли мой сервлет узнать, что развернуто на сервере? Мне бы хотелось, чтобы решение было настолько «глупым», насколько это возможно, т.е. я не хочу указывать ему, что искать (кроме префикса для идентификации наших банок), поскольку я пока не знаю всего, что мы могли бы строить.

Мое текущее решение - иметь в базе данных таблицу для хранения списка установленных разделов. Но для этого потребуются сценарии обновления и т. Д. Во время установки, и я уверен, что мы сможем сделать это, просто развернув jar на сервере.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 20 августа 2009

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

0 голосов
/ 20 августа 2009

Я делаю нечто подобное, настраивая параметр «Каталог плагинов» для своего приложения. Затем он регулярно сканирует этот каталог на наличие банок. Он ищет конкретные метаданные в манифесте, чтобы определить, является ли Jar действительно допустимым плагином, и какой класс загрузить из него (статический инициализатор этого класса регистрирует плагин в приложении).

Тогда все, что вам нужно сделать, это поместить новый Jar в этот каталог, чтобы добавить его функциональность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...