Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Настройка Tomcat для автоматической загрузки 
:(
    Опции темы
vns955
Дата 4.11.2009, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Всем здрям!

Подскажите плз как настроить Tomcat, чтоб при записи в папку WEB-INF\classes обновленных .class файлов он сразу же их перезагружал без необходимости перезагрузки самого Tomcat.

Заранее благодарен.
PM MAIL   Вверх
garbuz
Дата 4.11.2009, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



А разве из коробки не работает? Помнится так делал однажды, только не на томкате.
PM MAIL   Вверх
COVD
Дата 4.11.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Перезагружать отдельные классы в работающем приложении весьма рискованное дело. Томкат успешно справляется с перезагрузкой приложения целиком. Удаляете war из webapps - Томкат выполняет undeploy. Потом кладете новый war - Томкат выполняет autodeploy. В установках Томката по умолчанию autodeploy=true.    
PM MAIL   Вверх
vns955
Дата 4.11.2009, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Я не работаю с war. Я раскидываю всё по соответствующим папкам и всё. Хорошо, если это рискованное дело, то я готов переписать всю папку classes. Будет ли в этом случае их Tomcat подхватывать? Что для этого нужно?
PM MAIL   Вверх
COVD
Дата 4.11.2009, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Цитата

Я не работаю с war.

Так начните работать. Это общепринятая практика. Любой IDE создает war автоматически при компиляции проекта.

Цитата

я готов переписать всю папку classes. Будет ли в этом случае их Tomcat подхватывать?

Думаю (и надеюсь), что нет. Томкат периодически сканирует директорию. Когда он обнаруживает, что исчез или появился один файл war, то тут относительно просто определить, что приложение следует удалить или запустить. Когда же обновляются много классов (последовательно во времени), это сложнее. 

В составе Томката есть веб-приложение - менеджер. Там, если не ошибаюсь, есть возможность сделать deploy-undeploy приложения вручную. Копируете обновленные классы и жмете кнопку в менеджере.
PM MAIL   Вверх
vns955
Дата 4.11.2009, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Цитата

Так начните работать. Это общепринятая практика. Любой IDE создает war автоматически при компиляции проекта.

Насчет NetBeans - да, насчет Eclipse с которым я работаю - нет пока, - он war не генерит либо я что-то не так настроил либо плагина нет (Eclipse 3.5 SDK Galileo).

Цитата

В составе Томката есть веб-приложение - менеджер. Там, если не ошибаюсь, есть возможность сделать deploy-undeploy приложения вручную. Копируете обновленные классы и жмете кнопку в менеджере.

А вот это уже интересней. И он позволяет так заливать отдельные class файлы?
PM MAIL   Вверх
ming
Дата 4.11.2009, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 30.1.2009
Где: Новосибирск

Репутация: нет
Всего: 3



Цитата(vns955 @ 4.11.2009,  20:04)
Насчет NetBeans - да, насчет Eclipse с которым я работаю - нет пока, - он war не генерит либо я что-то не так настроил либо плагина нет (Eclipse 3.5 SDK Galileo).

поставьте Eclipse Ganymede, там есть WTP для работы с Web-приложениями.
PM MAIL ICQ Jabber   Вверх
vns955
Дата 10.11.2009, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Цитата(COVD @ 4.11.2009,  14:27)
Перезагружать отдельные классы в работающем приложении весьма рискованное дело. 

Я научился перегружать отдельные классы через restart приложения через manager. Мне сказали и сам увидел что это намного быстрее чем работа через war-файлы. Разве такая работа небезопасная?
PM MAIL   Вверх
COVD
Дата 10.11.2009, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Цитата

Я научился перегружать отдельные классы через restart приложения через manager. Мне сказали и сам увидел что это намного быстрее чем работа через war-файлы. Разве такая работа небезопасная?


Если вы делаете рестарт приложения (не Томката), то перегружаете приложение, а не отдельные классы. Конечно тут все замечательно.

Из общих соображений ясно, что поменять класс на ходу безопасно, если обьекты старой версии уже не используются приложением. Например, обьект каждый раз создается, выполняет свою задачу в отдельном потоке и выбрасывается. Сервлеты же создаются в одном экземпляре и обслуживают все запросы. Ясно, что и в этом случае механизм отлажен - мы же можем успешно редактировать jsp "на лету". Однако в общем случае если в приложении есть какие-то классы другого назначения, то есть опасение.    

Это сообщение отредактировал(а) COVD - 10.11.2009, 19:30
PM MAIL   Вверх
Juggernaut
Дата 12.11.2009, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 4.12.2005

Репутация: 1
Всего: 2



Скорее всего имеется в виду т.н. On the fly class reloading

Т.е. отсутствие необходимости ждать перезапуска всего приложения на AppServer в случае внесения изменений в один класс.

Я одно время изучал данный вопрос, но одна IDE или AppServer из коробки такую функцию не поддерживает.

Есть сторонние продукты, например я использовал JavaRebel, но все они платные. 
PM MAIL   Вверх
vns955
Дата 12.11.2009, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



to Juggernaut

Цитата

Я одно время изучал данный вопрос, но одна IDE или AppServer из коробки такую функцию не поддерживает.

"Из коробки" - имеется ввиду работа с war?

Цитата

Есть сторонние продукты, например я использовал JavaRebel, но все они платные. 

А крак где-нибудь есть?

PM MAIL   Вверх
vns955
Дата 13.11.2009, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



COVD

Цитата

Ясно, что и в этом случае механизм отлажен - мы же можем успешно редактировать jsp "на лету".

Незнаю, у меня не получается "на лету". Только с релоадингом приложения.
PM MAIL   Вверх
Egik2
Дата 21.11.2009, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 29.7.2008
Где: Агудзера

Репутация: 2
Всего: 11



ECLIPSE все поддерживает. нажимаешь правой кнопкой на проект, export и выбираешь war


--------------------
Три великие добродетели программиста: лень, нетерпение и самомнение (Larry Wall)
a-nav.com
developer-blog.ru
world-poetry.org
PM MAIL WWW ICQ   Вверх
vns955
Дата 23.11.2009, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Egik2

А где там war выбирать?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.