У меня есть базовое трехуровневое веб-приложение, и я хочу использовать 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 выполняется быстрее.