Tomcat 6 | Какое значение имеет антиресурсная блокировка и антиразрушающая блокировка? - PullRequest
7 голосов
/ 29 апреля 2010

Я работаю над проектом, в котором мы будем использовать Tomcat 6.0.20 для разработки и производства.

Я столкнулся с некоторыми проблемами, связанными с горячим развертыванием, для которого необходимо установить для Context.antiResourceLocking значение false в server.xml. У меня были некоторые вопросы по antiResourceLocking и antiJARLocking. Я прошел через ссылку на http://tomcat.apache.org/tomcat-6.0-doc/config/context.html.

Я не могу понять, что именно вы подразумеваете под блокировкой JAR или блокировкой ресурса. До сих пор я читал, что проблема с блокировкой обычно возникает, когда вы удаляете приложение, которое завершается неудачей из-за процесса, имеющего блокировку файла / jar. Может кто-нибудь указать мне что-нибудь, где я могу прочитать больше по этому вопросу?

Мои вопросы: 1) Если я установлю antiJARLocking и / или antiResourceLocking в false, какие проблемы я могу получить? Кто-нибудь может привести пример? 2) Является ли плохой практикой устанавливать эти атрибуты в false в производственной среде? 2) Правда ли, что блокировка на блоке Linux не будет происходить так часто, как на блоке Windows?

Ценю вашу помощь.

Спасибо.

Говинд Н.

Ответы [ 2 ]

5 голосов
/ 01 сентября 2010

Вот мои ответы на эти вопросы:

1) Из того, что я могу сказать, установка antiJARLocking и / или antiResourceLocking в false может вызвать проблемы только в Windows (хотя я смутно помню, как разработчик Tomcat утверждал, что это также влияет на Linux - я игнорирую это, потому что видел ноль доказательств этого, и нет примеров / подробных объяснений, подтверждающих это).

2) Неправильно устанавливать значение false, когда Tomcat работает в Windows.

Второй 2) !! Tomcat работает на нескольких дистрибутивах и версиях Linux уже более десяти лет. Я никогда не сталкивался с проблемой блокировки jar-файлов или блокировки ресурсов из-за того, что ни один из этих атрибутов не был установлен в true. Насколько я знаю, этого не происходит, но это может зависеть от используемой вами реализации файловой системы, и я всегда использовал EXT2, EXT3 или EXT4.

Если у вас все еще есть вопросы по этому поводу, спросите об этом в списке рассылки пользователей Tomcat.

Ура!

Джейсон Бриттен Соавтор Tomcat: полное руководство (O'Reilly)

4 голосов
/ 28 сентября 2010

1) Я построил систему вокруг svn для автоматического создания и развертывания веб-приложения, развертывание было выполнено с помощью задач Ant Tomcat, и с помощью antiJARLocking и / или antiResourceLocking для false приложение не было должным образом отменено, поскольку tomcat не мог удалите некоторые файлы jar и файл конфигурации log4j.properties, поэтому развертывание не удалось. Поэтому мне пришлось установить для этих свойств значение true, и tomcat сделал копию веб-приложения во временном каталоге. Это замедляет развертывание, и почти с каждым повторным развертыванием временный каталог увеличивался в размере, поэтому мне пришлось выполнить процедуру для удаления более старых развертываний моего приложения из временного каталога. Можно безопасно удалить развертывания из временного каталога в любое время, поскольку tomcat повторно развернет приложение в временном каталоге.

2) Из документов Tomcat я понял, что проблемы с блокировкой jar или блокировкой ресурсов возникают только в Windows. Я бы не стал устанавливать для этих свойств значение true в производственной среде, потому что нет необходимости повторять развертывание так часто, а для java всегда полезно перезапустить сервер после повторного развертывания в рабочей среде (OutOfMemoryError всегда скрывается в темноте, даже если ваш собственный код не течет). Другая незначительная проблема заключается в том, что приложение, развертываемое во временном каталоге, если вы измените jsp или другой файл в каталоге веб-приложений, не будет повторно развернуто, если вы также не скопируете изменения в временный каталог.

...