|
|
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Добрый вечер! Скажите, уважаемые знатоки, как в Java реализуется модульность проекта? Ну вот, к примеру, возьмем простое приложение на Java & Tomcat , - один index.jsp и скажем один сервлет какой-нибудь HelloWorld.java Вот мы собрали проект, задеплоили на сервак. Пользуемся приложением и радуемся. А потом вдруг решаем что-то изменить, ну например какую-то дополнительную проверку внести в какую-нибудь функцию. Нам для этого надо на рабочем серваке изменить код, заново собрать, остановить прод, задеплоить новую версию, застартовать приложение. Возможно ли каким-либо образом, менять только отдельные куски приложения, без остановки всего приложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 17:35:15 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
PHP. И "модульность", это нечто другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 17:41:10 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
scymaksВозможно ли каким-либо образом, менять только отдельные куски приложения, без остановки всего приложения? Если вопрос только об остановке, то все нормальные сервера умеют деплоить на горячую. Собрали, подменили .war - сервер подхватил изменения. Есть нюансы с утечками в PermGen, если какой-то код коряво написан. Например JDBC драйвер каждый раз регается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 17:43:11 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Можно менять файлы на диске в рабочих каталогах где развернуто приложение. В всяких модных EE-серверах есть возможность деплоить частично и из веб интерфейса, насчет томката точно не скажу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 17:44:19 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
ЛагманМожно менять файлы на диске в рабочих каталогах где развернуто приложение. Не всегда. Не для всех серверов. Например в Geronimo менять руками "в рабочем каталоге" это готовить себе геморрой на будущее. JBoss изменения из "рабочего каталога" не всегда будет подхватывать. Но вроде только deploy сканирует. В Tomcat смотря как задеплоишь, из war-ника или нет. ЛагманВ всяких модных EE-серверах есть возможность деплоить частично и из веб интерфейса, насчет томката точно не скажу частично это как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 17:47:27 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Ну в WebSphere вообще можно флажками потыкать какие классы деплоить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 17:49:33 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
ЛагманНу в WebSphere вообще можно флажками потыкать какие классы деплоить. А есть скрин? В дорогих комерческих серверах, конечно, с деплойментом намного лучше. Они и классы отдельные могут подхватить без редеплоя модуля, почти что ZeroTurnaround style. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 17:52:54 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
То есть можно использовать JBoss и не боятся больших пауз "обновления" приложения? Ну вот планируется делать приложение на Spring 3 & Hibernate , сейчас пока что крутится приложение на томкате ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 18:09:38 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, С флажками грубанул, можно вот так сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 18:10:28 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
scymaksНу вот, к примеру, возьмем простое приложение на Java & Tomcat , - один index.jsp и скажем один сервлет какой-нибудь HelloWorld.java ... Возможно ли каким-либо образом, менять только отдельные куски приложения, без остановки всего приложения?Если говорить о Tomcat, то если "отдельные куски" это jsp, то - да (в стандартной конфигурации), если jar-ы, то - нет (залочено JVM). В семёрке реализовано параллельное развёртывание и, если ваше приложение "корректно", перерыв в обслуживании будет минимальным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 19:16:04 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
scymaks, Что бы избежать пауз при обновлении на боевых серверах лучше использовать резервный сервер. Хоть целый день обновляй. Модульность это хорошо, но только при необходимости. Лучше ее избегать, иначе придется матрицу совместимости делать, версионность для каждого модуля, помнить где какие модули стоят. А так есть глобальная версия приложения, обновил, откатил - 100% уверен в результате, дешево и сердито. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 22:57:20 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Вот за что мне нравится веблоджик, так за то что он позволяет держать несколько версий одного приложения, для старых сессий - старая версия, для новых сессий - новая. Ну и деплой на кластер...мммммм красота. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 23:02:29 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Интересно! То есть мы типа держим два сервера: первый сервак, на нем держим production на запущенном Tomcat ( Tomcat#1 ) p1.mycompany.com это другой сервак, на него мы заливаем приложение на свой Tomcat ( Tomcat#2 ) p2.mycompany.com Как теперь происходит обновление по вашей задумке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 06:44:20 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Есть же версионность war еще. Никто и не заметит что вы передеплоили приложение. Но проблема с PermGen все равно останется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 10:29:23 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
dominatorscymaks, Модульность это хорошо, но только при необходимости. Лучше ее избегать, +1 Почему то при использовании Программа.exe ни у кого не возникает вопросов "при пересборке" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 14:08:10 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Petro123, Ну тут же может быть по-разному устроенно. Это может быть не так критично, как веб портал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 14:37:06 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
scymaksНу тут же может быть по-разному устроенно. Это может быть не так критично, как веб портал. Для порталов есть портлеты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 14:38:46 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да, уже начал думать о них. А все портальные системы платные..? Нам нужна не самая навороченная, главное чтоб удовлетворяла требованиям. А как в портлетах сессия определяется..? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 15:02:58 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 15:11:19 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
scymaksPetro123, Ну тут же может быть по-разному устроенно. Это может быть не так критично, как веб портал. тут это где? Сабж начинался с JSP А JSP это считай EXE ЗЫ Уже на порталы перешли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 15:39:03 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Что то не осилил, а как портлеты помогут обновлять без рестарта приложения? У меня в WebSphere Portal при обновлении веб-модуля , все сессии пользователей использующих данный модуль отваливаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 16:56:39 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
И на мой взгляд немного странная хотелка, если только какую то косметику менять в jsp и ресурсах, то куда ни шло. А если меняется схема в БД? Даже OSGI не даст вам гарантии, что можно на лету, что либо корректно подгрузить, вспомните просьбу о перезапуске eclipse после установки плагина, хотя вроде бы там плагины по osgi грузятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 16:59:51 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
just_vladimirЧто то не осилил, а как портлеты помогут обновлять без рестарта приложения? Так же как отдельные JEE модули. Разве нет? just_vladimirУ меня в WebSphere Portal при обновлении веб-модуля , все сессии пользователей использующих данный модуль отваливаются. Ну, не персистятся у вас сессии по какой-то причине. Или отключен персист. Или объекты не сериализуются. При чем здесь это вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 17:09:31 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, поможет в том, что весь портал не надо рестартовать, но конкретное приложение, то все равно нужно будет. Только, если по схеме, что те, кто есть продолжают работать со старой версией, а новые с новой, но это все таки не тоже самое, что изменить приложения на лету. Плюс как уже писал, если что меняется что-то смежное (например БД), то нужно будет проконтролировать обратную совместимость смежного приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 18:10:38 |
|
||
|
Java Web Application с динамическим контентом
|
|||
|---|---|---|---|
|
#18+
just_vladimirто нужно будет проконтролировать обратную совместимость смежного приложения. Это всегда так. Хочется жить 24х7 с заменами на горячую, будь добр контролируй и совместимость, и PermGen, и перенос данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 18:19:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37990202&tid=2130781]: |
0ms |
get settings: |
13ms |
get forum list: |
28ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
51ms |
get topic data: |
22ms |
get forum data: |
5ms |
get page messages: |
112ms |
get tp. blocked users: |
2ms |
| others: | 289ms |
| total: | 536ms |

| 0 / 0 |
