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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дикое кеширование Tomcat??? Даже после удаления класса - работает 
V
    Опции темы
kaa
Дата 2.12.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть такая проблема: после обновления класса сервлета, Tomcat всёравно выдает старую его верию. Дошло до того что даже после удаления класса вовсе сервер всёравно продолжает выдавать ответ от сервлета, как будто он есть. 
Насколько я могу понять - это кеширование, если я прав, то не подскажите ли, где можно такое агрессивное кеширование отключить? smile
PM MAIL   Вверх
Samotnik
Дата 2.12.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



kaa,  Как вариант, открой браузер напиши localhost:8080  зайди в  Tomcat Manager и попробуй раздеплоить проект, потом задеплой назад, перезапусти томкат, и должно сработать.
PM MAIL   Вверх
kaa
Дата 2.12.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Samotnik
М-м-м... Понимаете, перезапуском-то сервера это проблема решалась - кеш сбрасывался, но что же мне теперь, при каждом изменении класса скрипта сервер перезапускать?

ЗЫ: зделал всё как вы сказали - таже петрушка: спасает тока перезагрузка сервера.

Это сообщение отредактировал(а) kaa - 2.12.2007, 19:10
PM MAIL   Вверх
SuperFly
Дата 2.12.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



kaa, нужнен не перезапуск сервера, а редеплой проекта, разные вещи, факт.
И редеплоить надо каждый раз, это же все таки web-приложение.
PM   Вверх
ivg
Дата 2.12.2007, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


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

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



Цитата(kaa @  2.12.2007,  13:15 Найти цитируемый пост)
это кеширование

По моему, это так работают загрузчики классов. Раз уж вы сами, вручную, обновляете классы на сервере, то наверно, в тестовых целях, можно обойтись и без "редеплоя".
Достаточно будет reload. Вот почитайте
Если нужна автоматизация процесса, там же, на этой странице, показано как создавать командны для ant.
PM MAIL   Вверх
Alexis
Дата 2.12.2007, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Варианты решения проблемы:
1) Деплоить WAR-файл;
2) Как уже предлагали, перезапускать только свое приложение, а не сервер целиком. Удобнее всего делать это с помощью Ant. Вот примеры задач для Tomcat:
Код

<taskdef name="install" classname="org.apache.catalina.ant.InstallTask">
    <classpath>
        <path location="${appserver.home}/lib/catalina-ant.jar"/>
    </classpath>
</taskdef>
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
    <classpath>
        <path location="${appserver.home}/lib/catalina-ant.jar"/>
    </classpath>
</taskdef>
<taskdef name="list" classname="org.apache.catalina.ant.ListTask">
    <classpath>
        <path location="${appserver.home}/lib/catalina-ant.jar"/>
    </classpath>
</taskdef>
<taskdef name="start" classname="org.apache.catalina.ant.StartTask">
    <classpath>
        <path location="${appserver.home}/lib/catalina-ant.jar"/>
    </classpath>
</taskdef>
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask">
    <classpath>
        <path location="${appserver.home}/lib/catalina-ant.jar"/>
    </classpath>
</taskdef>

<target name="install" description="Install application in Tomcat">
    <install url="${tomcat.manager.url}"
             username="${tomcat.manager.username}"
             password="${tomcat.manager.password}"
             path="/${name}"
             war="${name}"/>
</target>

<target name="reload" description="Reload application in Tomcat">
    <reload url="${tomcat.manager.url}"
            username="${tomcat.manager.username}"
            password="${tomcat.manager.password}"
            path="/${name}"/>
</target>

<target name="start" description="Start Tomcat application">
    <start url="${tomcat.manager.url}"
           username="${tomcat.manager.username}"
           password="${tomcat.manager.password}"
           path="/${name}"/>
</target>

<target name="stop" description="Stop Tomcat application">
    <stop url="${tomcat.manager.url}"
          username="${tomcat.manager.username}"
          password="${tomcat.manager.password}"
          path="/${name}"/>
</target>

<target name="list" description="List Tomcat applications">
    <list url="${tomcat.manager.url}"
          username="${tomcat.manager.username}"
          password="${tomcat.manager.password}"/>
</target>

где name -- имя проекта (имя папки в webapps),
appserver.home -- путь до установленного Tomcat,
tomcat.manager.username и tomcat.manager.password -- имя и пароль пользователя с ролью manager (создается в tomcat-users.xml)
tomcat.manager.url -- по умолчанию это http://localhost:8080/manager
PM   Вверх
PashaOvechkin
Дата 3.12.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Привет!
Попробуй остановить томкат, и стереть содержимое <tomcat_root/work
PM MAIL Skype   Вверх
Tony
Дата 3.12.2007, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(kaa @ 2.12.2007,  13:15)
Есть такая проблема: после обновления класса сервлета, Tomcat всёравно выдает старую его верию. Дошло до того что даже после удаления класса вовсе сервер всёравно продолжает выдавать ответ от сервлета, как будто он есть. 
Насколько я могу понять - это кеширование, если я прав, то не подскажите ли, где можно такое агрессивное кеширование отключить? smile

Он не кеширует а держит твою апп в памяти. Если ты хо4ешь обнавить класс. тогда тебе надо сделать undeploy a потом deploy твоей апликации. или перегрузить сервак. Вот и всё.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
kkorsakoff
Дата 4.12.2007, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не redeploy, а reload - вещи разные smile 
А еще можно поставить приложение manager и делать это прямо из браузера
PM MAIL WWW ICQ   Вверх
Tony
Дата 4.12.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(kkorsakoff @ 4.12.2007,  01:29)
Не redeploy, а reload - вещи разные smile 
А еще можно поставить приложение manager и делать это прямо из браузера

Da,da mozhno eshjo 4erez reload sovsem zabil pro nego.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
kaa
Дата 6.12.2007, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



пардон что долго не отвечал - тока добрался до форума... 
Сегодня - завтра попробую.

Добавлено через 2 минуты и 33 секунды
Alexis
Я тока начал заниматься этим и что такое ant плохо представляю - не подскажите?
PM MAIL   Вверх
Maksym
Дата 6.12.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



Цитата(kaa @  6.12.2007,  09:26 Найти цитируемый пост)
Я тока начал заниматься этим и что такое ant плохо представляю - не подскажите? 

Apache Ant

PM MAIL   Вверх
kaa
Дата 7.12.2007, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Maksym
Спасибо
PM MAIL   Вверх
ivg
Дата 10.12.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


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

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



Ссори, что поднимаю старую и решённую тему, нашел ещё вариант к теме
У тега <context ...> в конфигурации Контекста выставить атрибут reloadable="true"
Цитата

Set to true if you want Catalina to monitor classes in /WEB-INF/classes/ and /WEB-INF/lib for changes, and automatically reload the web application if a change is detected. This feature is very useful during application development, but it requires significant runtime overhead and is not recommended for use on deployed production applications. That's why the default setting for this attribute is false. You can use the Manager web application, however, to trigger reloads of deployed applications on demand.

Источник
Сам не пробовал  smile 
PM MAIL   Вверх
kaa
Дата 12.12.2007, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ivg
прасиб  smile 
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.0889 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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