Назад | Перейти на главную страницу

GlassFish в Windows против RedHat

У меня есть базовое трехуровневое веб-приложение, и я хочу использовать GlassFish. Предполагая те же навыки администратора, есть ли разница в том, будет ли хост-ОС Windows 2003 Server или RedhHat?

Я второй фредарин. Обман от ответа, который я опубликовал на SO:

0 голосов против

Если вы проверите источник Glassfish, в частности ./appserv-commons/src/java/com/sun/enterprise/util/io/FileUtils.java, вы увидите все искажения, через которые проходит Glassfish, чтобы удалить / переименовать файлы и каталоги в Windows.

Это проблема Windows с ее ограничениями на удаление и переименование открытых файлов.

Здесь есть всевозможные уловки, в том числе многократный запрос GC от JVM в надежде закрыть файловый поток, «псевдо» переименование, циклы ожидания в режиме ожидания.

Некоторые примеры:

/**
 *Attempts to delete files that could not be deleted earlier and were not overwritten.
 *<p>
 *On Windows, the method requests garbage collection which may unlock locked
 *files. (The JarFile finalizer closes the file.)

/*
     *On Windows, as long as not all leftover files have been cleaned and we have not
     *run the max. number of retries, try again to trigger gc and delete
     *each remaining leftover file.
     */

/**
 * Windows has BIG issues renaming a directory that is open somnewhere -- e.g. if
 * a DOS box is opened anywhere in that directory.
 * This method will try to do a "virtual renaming" if there are problems
 * I.e. it attempts to do a simple rename, if that fails it will copy everything under
 * the original directory to the renamed directory.  Then it will delete everything
 * under the original directory that the OS will allow it to.

На практике это иногда приводит к неудачному развертыванию или повторному развертыванию в Windows, поскольку некоторые файлы нельзя удалить или переместить, и в конечном итоге они останутся позади. Из всех экземпляров Glassfish, которые я запускал, у меня никогда не было проблем с Solaris 10, и у меня всегда были проблемы с этим в Windows.

Короче говоря, любой * NIX будет лучше только по этой причине, не считая других соображений администратора платформы.

Рано или поздно вы, вероятно, столкнетесь с проблемами при развертывании на Windows 2000 из-за проблем с блокировкой файлов Windows. Но вы научитесь обходить это - так или иначе.

Также см этот вопрос:

При прочих равных, я бы не стал выбирать Windows в качестве серверной ОС для Glassfish, но и против Win2K3 я бы тоже не советовал.

Я не уверен, что есть какие-то огромные различия, если предположить, что характеристики одинаковые. Я слышал, как некоторые администраторы говорят, что запуск Application Client Container (ACC) в Linux выполняется быстрее.