powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Подскажите идею
8 сообщений из 8, страница 1 из 1
Подскажите идею
    #37606471
amigaboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На глассфише располагается несколько EAR'ов, некоторые из которых содержат WAR и являются веб-приложениями (очевидно). В интерфейсе каждого приложения должно выводится меню, которое переключает пользователя между ними. Хочется сделать так, чтобы это меню генерировалось автоматически при старте сервера по установленным приложениям.

Моя идея была такова:
- Поскольку существует отдельный EAR c Remote-вызовами ejb-методов, то в нем создаем хэш-таблицу для списка приложений и методы для ее обслуживания (put, getHashMap).

- В каждом WAR'е создаем ServletContextListener, который обращается к Remote-интерфейсу через его имя в JNDI и при старте приложения кладет о себе информацию в общую хэш-таблицу

- Соответственно, при генерации меню, можно получить общий список приложений

Вроде все не плохо, но этот отдельный EAR деплоится после всех остальных...

Есть какие-нибудь еще идеи по организации общего списка между приложениями?
...
Рейтинг: 0 / 0
Подскажите идею
    #37606482
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amigaboyНа глассфише располагается несколько EAR'ов, некоторые из которых содержат WAR и являются веб-приложениями (очевидно). В интерфейсе каждого приложения должно выводится меню, которое переключает пользователя между ними. Хочется сделать так, чтобы это меню генерировалось автоматически при старте сервера по установленным приложениям.
Если это всё одно приложение, почему бы его и не упаковать в единый EAR?


amigaboy - Соответственно, при генерации меню, можно получить общий список приложений
Вроде все не плохо, но этот отдельный EAR деплоится после всех остальных...

Это решаемо надо ковырять доки по glassfish. Он должен позволять смотреть стаус деплоя модулей через JMX. Тогда ваше приложение может просто дождатся, когда всё задеплоится. Или какой порядок нужен?
Вообще все полноценные сервера поддерживают свои собственные фичи по упорядывачиванию деплоймента.
http://blogs.oracle.com/alexismp/entry/module_initialization_order_in_java

amigaboyЕсть какие-нибудь еще идеи по организации общего списка между приложениями?
От чего я бы отказался, так это от того чтобы что-то там сканировать. Лучше чтобы каждый модуль сам явно регистрировался, например, в базе и писал какие пункты в меню он предоставляет.
...
Рейтинг: 0 / 0
Подскажите идею
    #37606484
amigaboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczamigaboyЕсть какие-нибудь еще идеи по организации общего списка между приложениями?
От чего я бы отказался, так это от того чтобы что-то там сканировать. Лучше чтобы каждый модуль сам явно регистрировался, например, в базе и писал какие пункты в меню он предоставляет.
В базе - это вариант. А если приложение удаляется с сервера, а запись в базе остается - каким образом это проверять?

Можно, по-идее, во время генерации меню пинговать каждую запись на предмет 404ой ошибки.
...
Рейтинг: 0 / 0
Подскажите идею
    #37606489
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amigaboyВ базе - это вариант. А если приложение удаляется с сервера, а запись в базе остается - каким образом это проверять?
Можно, по-идее, во время генерации меню пинговать каждую запись на предмет 404ой ошибки.
Да, верно. Не лучший вариант. Решаемый, но не самый простой. Тогда обязуйте все модули в JMX публиковаться.
Но обязательно сделайте общий API для всех. Чтобы всегда можно было просто поменять реализацию, не трогая остальные модули.
...
Рейтинг: 0 / 0
Подскажите идею
    #37606516
amigaboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А WAR умеет каким-то способом получать свое название? Чтобы вручную не вписывать в константы AdminWAR, SalesWAR и прочее, а как-то более универсальным способом его получить.
...
Рейтинг: 0 / 0
Подскажите идею
    #37606529
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amigaboyА WAR умеет каким-то способом получать свое название? Чтобы вручную не вписывать в константы AdminWAR, SalesWAR и прочее, а как-то более универсальным способом его получить.
Смотри JMX. Там почти наверняка будет.
...
Рейтинг: 0 / 0
Подскажите идею
    #37606723
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕсли это всё одно приложение, почему бы его и не упаковать в единый EAR?
+1
либо вы делаете админку сервера, либо подумать ЧТО это вообще будет.
Т.к. если это SOAP то делать его не на коленке.
Если это....
...
Рейтинг: 0 / 0
Подскажите идею
    #37606727
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amigaboyА WAR умеет каким-то способом получать свое название? Чтобы вручную не вписывать в константы AdminWAR, SalesWAR и прочее, а как-то более универсальным способом его получить.
Хотя, может вы имеете ввиду ContextPath для того чтобы сформировать URL, а не само имя war модуля? Тогда его можно и через Servlet API получить. Но в JMX эта информация так же должна присутствовать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Подскажите идею
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]