GlassFish на Windows против RedHat

GlassFish на Windows против RedHat

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

решение1

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

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

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

решение2

Я поддерживаю fredarin. Дубликат ответа, который я разместил на SO:

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

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

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

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

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

/**
 *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 будет лучше уже по этой причине, не считая других соображений администратора платформы.

решение3

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

Связанный контент