Em um ambiente clusterizado, um upgrade planejado reimplanta uma aplicação com perda mínima de serviço e sessões. Uma sessão é qualquer artefato que possa ser replicado, por exemplo:
HttpSession
SingleSignOn
ServletTimer
DialogFragment
Bean de sessão stateful
É possível utilizar o balanceador de carga e vários clusters para fazer upgrade de componentes no GlassFish Server sem perda de serviço. Um componente pode ser, por exemplo, uma máquina JVM, o software GlassFish Server ou uma aplicação Web.
Um upgrade planejado pode ocorrer em cargas leves e moderadas. O procedimento demora cerca de 10 a 15 minutos em cada instância do GlassFish Server.
As aplicações devem ser compatíveis no upgrade. Devem funcionar corretamente durante a transição quando algumas instâncias estiverem executando a versão antiga e outras instâncias estiverem executando a nova versão. A versão antiga e a nova devem ter a mesma forma de classes serializáveis que formam os gráficos de objetos armazenados nas sessões (por exemplo, variáveis de instância não transitórias). Se a forma destas classes devem se alterar, o desenvolvedor da aplicação deve certificar-se de que ocorra um correto comportamento de serialização. Se a aplicação não for compatível em todo o upgrade, o cluster deverá ser interrompido para uma reimplantação completa.
Esta abordagem não é possível se o upgrade da aplicação implicar a alteração no esquema do banco de dados da aplicação.
Cuidado:
Para impedir o risco de incompatibilidade de versões quando uma sessão falhar, faça uprade de todas as instâncias de um cluster ao mesmo tempo. Do contrário, uma sessão pode falhar em uma instância na qual versões diferentes de componentes estão em execução.Realize esta tarefa em cada cluster separadamente. Um cluster age como um limite seguro em failover de sessão das instâncias do cluster. As sessões de um cluster nunca podem causar failover em sessões de outros cluster. Portanto, não há risco de versões incompatíveis.
Interrompa o cluster.
Consulte Para Interromper um Cluster.
Faça upgrade do componente nesse cluster.
Inicie o cluster.
Consulte Para Iniciar um Cluster.