powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Автоматическое обновление war/ear
22 сообщений из 22, страница 1 из 1
Автоматическое обновление war/ear
    #39055431
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По аналогии с обновлением десктопного приложения специальным процессом, хотелось бы узнать, как сделать такое же с ear/war как бы изнутри самого приложения (задеплоили и оно само лезет на сервер и себя обновляет)?
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055458
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Браво, аплодирую стоя за вопрос :)

авторзадеплоили и оно само лезет на сервер и себя обновляет

А задеплоили куда? Не на сервер, а себе в карман?
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055468
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну например вы задеплоили в томкат и что дальше, ну допустим шедулером вы узнали что на сервере релизов есть новая версия и себе ее скачали куда-нибудь, а что дальше?
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055477
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно. Нет, этот процесс так не работает, нужна инициатива с другой стороны. Как только вы собрали новую версию, нужно задеплоить ее на томкат.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055578
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Ну например вы задеплоили в томкат и что дальше, ну допустим шедулером вы узнали что на сервере релизов есть новая версия и себе ее скачали куда-нибудь, а что дальше?
загружаешь на сервер ч tomcat , шедулером проверяешь наличие новой даты у war, перегружешь томкат
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055582
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перед перезапуском - удалить папку с приложением
это если одно приложение на сервере
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055609
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В tomcat7+ сделано параллельное развёртывание - не надо ничего удалять, достаточно "правильно" именовать.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055612
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892По аналогии с обновлением десктопного приложения специальным процессом, хотелось бы узнать, как сделать такое же с ear/war как бы изнутри самого приложения (задеплоили и оно само лезет на сервер и себя обновляет)?
А нахрена оно нужно? Обновление десктопных приложений нужно потому что пользователей много. А сервер один обслуживает много пользователей. Поэтому вопрос более чем странный.
Можно Maven-ом деплоить и\или через Continous Integration сервер.
Если это кластер и серверов много, то у кластеров есть такое понятие как farming. В инструментах кластеризации надо смотреть как оно реализовано.

Апдейт сервера нужно всегда запускать под надзором. У сервера он всегда сложнее (сессии, база и пр.). Поэтому производиться всегда в ручную по кнопке.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055616
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovВ tomcat7+ сделано параллельное развёртывание - не надо ничего удалять, достаточно "правильно" именовать.

это как?
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055620
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну наверноя не правильно выразился, фактически надо обновлять не все приложение а отдельные классы. Тоесть для пользователей это должно быть прозрачно. Например вот есть законодательство какое-то, оно часто меняется, и здорово если бы админ зашел в веб админку приложения посмотрел что есть новые версии, нажал обновить - с сервера разработчика вытаскиваются классы/изменения бд, накатываются и у всех все хорошо. Так как это изменения пользователей не всех затронет, то те котго затрагивает - ну табличка подождите ваша операция требует модули которые сейчас обновляются и тд, тоесть все приложение ear физически не передеплоивается, ну не знаю как сформулировать, кароче выделить наиболее частые изменяемые части, сделать их как модули, и что бы через админку их обновлять/удалять/новые заливать. Это классы + изменения бд.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055621
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Ну наверноя не правильно выразился, фактически надо обновлять не все приложение а отдельные классы.Распаковываем веб-приложение в каталог, создаём описатель контекста.
После обновления "отдельных классов" меняем тайм-штамп описателя - томкат перезапустит приложение, если это не запрещено настройками.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055624
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяэто как?В строгом соответствии с документацией .
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055625
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Это классы + изменения бд .Выделено мною.
Забудьте про свою "химию" - если требуется менять базу, то надо остановить использующие её приложения, сделать бэкап, накатить изменения и запустить новую версию приложений.

P.S. Нет, джедаю могут и налету, но джедаи не стали бы и вопрос задавать.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055626
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, для модулей отдельная база, которую можно залочить.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055637
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвадяэто как?В строгом соответствии с документацией .
пример использования можешь привести?
я не совсем разобрался в доках...
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055638
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или я вас не понимаю или вы меня или всё вместе ...

Если приложение меняет базу, то я не буду ничего делать на лету:
1. Получить уведомление о выходе новой версии;
2. Забрать новую версию;
3. Прочитать сопроводительную документацию;
4. Развернуть всё на стенде;
5. Отработать на стенде процедуру обновления.
6. Выполнить п.п. 3-5, даже если приложение не меняет базу.

Далее:
1. Выбрать время и оповестить пользователей о предстоящих работах;
2. Остановить систему, выполнить архивацию;
3. Обновить базу, обновить приложение;
4. Проверить, что всё работает;
5. Запустить систему и вывесить объявление об окончании работ.

P.S. Нет, джедаи могут и быстрее ...

P.P.S. Нет, в прошлом мне и самому приходилось накатывать срочные фиксы посреди рабочего дня, но:
1. До этого я много тренировался на стенде и многие вещи были отлажены применительно именно к нам, а не к сферическим коням разработчиков;
2. Я до сих пор считаю такие ситуации аварийными, а ответственность за создание таких аварийных ситуаций возлагаю на разработчиков.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055649
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяпример использования можешь привести?В строгом соответствии с докой
Вместо ROOT.war развёртываем ROOT##000.war.
Когда мы развернём ROOT##001.war, котяра воспримет это как новую версию и сделает следующее:
1. Развернёт новую версию;
2. Перестанет направлять входящие запросы на старую версию;
3. Когда старая версия приложения завершит обработку всех запросов - "свернёт" war старой версии, после чего этот файл можно будет спокойно удалить.

До появления параллельного развёртывания можно было делать так:
1. Развёртываем приложение (в виде war или католожной структуры) вне webapps;
2. Создаём описатель контекста;
3. Развёртываем новую версию в виде другого war или другой каталожной структуры;
4. Редактируем описатель контекста указывая путь к новой версии и сохраняем.
5. Котяра, обнаружив изменение описателя контекста начинает "свёртывать" старую версию, после чего стартует новую.

Параллельное развёртывание оптимизирует две вещи:
1. Фиксирует схему именования, что позволяет не велосипедить;
2. Позволяет плавно перевести обработку запросов со старой версии приложения на новую.
Разумеется, если в приложении случится какой-то раскосяк из-за параллельной работы двух версий в одной JVM - это будет проблемой разработчиков приложения, а не разработчиков Tomcat.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055650
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov1. Развернёт новую версию;
2. Перестанет направлять входящие запросы на старую версию;
3. Когда старая версия приложения завершит обработку всех запросов - "свернёт" war старой версии, после чего этот файл можно будет спокойно удалить.
Не совсем так. Старые сессии обслуживаются старой версией, а новые - новой. Когда активных сессий на старой версии не станет, можно смело удалять.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055662
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но можно нарваться на одновременное использование старой и новой версии?
со всеми вытекающими последствиями?
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055670
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczСтарые сессии обслуживаются старой версией, а новые - новой. Когда активных сессий на старой версии не станет, можно смело удалять.Именно это я и хотел сказать, но, пожалуй, коряво выразился.
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055673
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяно можно нарваться на одновременное использование старой и новой версии?
со всеми вытекающими последствиями?Не хотите рисковать или/и делать аудит/тестирование - используйте развёртывание вне webapps.
Минимизация даунтайма достигается за счёт развёртывания приложения "в каталог". Не по стандарту, но работает.
Вероятно - везде работает.
Второй способ ускорения развёртывание - вынесение общих (как правило - сторонних) библиотек в ${catalina.base}/lib.
Третий - аккуратное написание приложения
...
Рейтинг: 0 / 0
Автоматическое обновление war/ear
    #39055689
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
меня счас утраивает простое копирование удаление перзапуск вручную :)
юзеры только днём заходят, все в пределах одного часового пояса
это вопрос о удобстве для себя любимго :)
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Автоматическое обновление war/ear
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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