|
|
|
Подскажите идею
|
|||
|---|---|---|---|
|
#18+
На глассфише располагается несколько EAR'ов, некоторые из которых содержат WAR и являются веб-приложениями (очевидно). В интерфейсе каждого приложения должно выводится меню, которое переключает пользователя между ними. Хочется сделать так, чтобы это меню генерировалось автоматически при старте сервера по установленным приложениям. Моя идея была такова: - Поскольку существует отдельный EAR c Remote-вызовами ejb-методов, то в нем создаем хэш-таблицу для списка приложений и методы для ее обслуживания (put, getHashMap). - В каждом WAR'е создаем ServletContextListener, который обращается к Remote-интерфейсу через его имя в JNDI и при старте приложения кладет о себе информацию в общую хэш-таблицу - Соответственно, при генерации меню, можно получить общий список приложений Вроде все не плохо, но этот отдельный EAR деплоится после всех остальных... Есть какие-нибудь еще идеи по организации общего списка между приложениями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 14:32:56 |
|
||
|
Подскажите идею
|
|||
|---|---|---|---|
|
#18+
amigaboyНа глассфише располагается несколько EAR'ов, некоторые из которых содержат WAR и являются веб-приложениями (очевидно). В интерфейсе каждого приложения должно выводится меню, которое переключает пользователя между ними. Хочется сделать так, чтобы это меню генерировалось автоматически при старте сервера по установленным приложениям. Если это всё одно приложение, почему бы его и не упаковать в единый EAR? amigaboy - Соответственно, при генерации меню, можно получить общий список приложений Вроде все не плохо, но этот отдельный EAR деплоится после всех остальных... Это решаемо надо ковырять доки по glassfish. Он должен позволять смотреть стаус деплоя модулей через JMX. Тогда ваше приложение может просто дождатся, когда всё задеплоится. Или какой порядок нужен? Вообще все полноценные сервера поддерживают свои собственные фичи по упорядывачиванию деплоймента. http://blogs.oracle.com/alexismp/entry/module_initialization_order_in_java amigaboyЕсть какие-нибудь еще идеи по организации общего списка между приложениями? От чего я бы отказался, так это от того чтобы что-то там сканировать. Лучше чтобы каждый модуль сам явно регистрировался, например, в базе и писал какие пункты в меню он предоставляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 14:41:50 |
|
||
|
Подскажите идею
|
|||
|---|---|---|---|
|
#18+
BlazkowiczamigaboyЕсть какие-нибудь еще идеи по организации общего списка между приложениями? От чего я бы отказался, так это от того чтобы что-то там сканировать. Лучше чтобы каждый модуль сам явно регистрировался, например, в базе и писал какие пункты в меню он предоставляет. В базе - это вариант. А если приложение удаляется с сервера, а запись в базе остается - каким образом это проверять? Можно, по-идее, во время генерации меню пинговать каждую запись на предмет 404ой ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 14:43:58 |
|
||
|
Подскажите идею
|
|||
|---|---|---|---|
|
#18+
amigaboyВ базе - это вариант. А если приложение удаляется с сервера, а запись в базе остается - каким образом это проверять? Можно, по-идее, во время генерации меню пинговать каждую запись на предмет 404ой ошибки. Да, верно. Не лучший вариант. Решаемый, но не самый простой. Тогда обязуйте все модули в JMX публиковаться. Но обязательно сделайте общий API для всех. Чтобы всегда можно было просто поменять реализацию, не трогая остальные модули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 14:48:14 |
|
||
|
Подскажите идею
|
|||
|---|---|---|---|
|
#18+
А WAR умеет каким-то способом получать свое название? Чтобы вручную не вписывать в константы AdminWAR, SalesWAR и прочее, а как-то более универсальным способом его получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 15:14:22 |
|
||
|
Подскажите идею
|
|||
|---|---|---|---|
|
#18+
amigaboyА WAR умеет каким-то способом получать свое название? Чтобы вручную не вписывать в константы AdminWAR, SalesWAR и прочее, а как-то более универсальным способом его получить. Смотри JMX. Там почти наверняка будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 15:37:32 |
|
||
|
Подскажите идею
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЕсли это всё одно приложение, почему бы его и не упаковать в единый EAR? +1 либо вы делаете админку сервера, либо подумать ЧТО это вообще будет. Т.к. если это SOAP то делать его не на коленке. Если это.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 19:11:13 |
|
||
|
Подскажите идею
|
|||
|---|---|---|---|
|
#18+
amigaboyА WAR умеет каким-то способом получать свое название? Чтобы вручную не вписывать в константы AdminWAR, SalesWAR и прочее, а как-то более универсальным способом его получить. Хотя, может вы имеете ввиду ContextPath для того чтобы сформировать URL, а не само имя war модуля? Тогда его можно и через Servlet API получить. Но в JMX эта информация так же должна присутствовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 19:13:53 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37606484&tid=2132895]: |
0ms |
get settings: |
14ms |
get forum list: |
18ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
66ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
87ms |
get tp. blocked users: |
3ms |
| others: | 332ms |
| total: | 555ms |

| 0 / 0 |
