GlassFish no Windows versus RedHat

GlassFish no Windows versus RedHat

Eu tenho um aplicativo da web básico de três camadas e quero usar o GlassFish. Assumindo as mesmas habilidades administrativas, alguma diferença em ter o sistema operacional host Windows 2003 Server ou RedhHat?

Responder1

Mais cedo ou mais tarde, você provavelmente terá problemas ao implantar no Win2K3 devido a problemas de bloqueio de arquivos do Windows. Mas você aprenderá a contornar isso - de uma forma ou de outra.

Veja tambémessepergunta:

Se todo o resto for igual, eu não selecionaria o Windows como sistema operacional de servidor para o glassfish, mas também não recomendaria fortemente o Win2K3.

Responder2

Eu segundo Fredarin. Um idiota de uma resposta que postei no SO:

0 voto negativo

Se você verificar a fonte do glassfish, especificamente ./appserv-commons/src/java/com/sun/enterprise/util/io/FileUtils.java, verá todas as contorções pelas quais o Glassfish passa para excluir/renomear arquivos e diretórios no Windows.

Este é um problema do Windows, com restrições para excluir e renomear arquivos abertos.

Existem todos os tipos de truques, incluindo solicitar um GC da JVM várias vezes na esperança de fechar o fluxo de arquivos, renomear "pseudo" e loops de tentativa de suspensão.

Alguns exemplos:

/**
 *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.

Na prática, isso às vezes se traduz em implantações ou reimplantações interrompidas no Windows, pois alguns arquivos não podem ser excluídos ou movidos e acabam sendo deixados para trás. De todas as instâncias do Glassfish que executo, nunca tive problemas no Solaris 10 e sempre tenho problemas relacionados a isso no Windows.

Resumindo, qualquer *NIX será melhor apenas por esse motivo, deixando de lado outras considerações de administração da plataforma.

Responder3

Não tenho certeza se existem grandes diferenças, assumindo as mesmas especificações. Ouvi alguns administradores dizerem que executar o Application Client Container (ACC) é mais rápido no Linux.

informação relacionada