Glassfish trava após mover o diretório de instalação

Eu sei a resposta para isso, mas estou postando isso aqui porque como um desenvolvedor de aplicativos, eu fui queimado por esse problema várias vezes e demorou muito tempo para encontrar a resposta:

Mudei o diretório de instalação do glassfish e agora ele é interrompido na boot.

Como posso consertar isso?

Existem algumas estratégias que você pode aplicar para resolver esse problema.

A solução rápida e suja é

  1. Certifique-se de que o servidor esteja parado.

  2. Exclua o conteúdo do cache osgi, removendo o diretório osgi-cache / felix no seu domínio. Isso geralmente é encontrado em glassfishv3 / glassfish / domains / domain1 (GlassFish Server 3.0.1) ou glassfish3 / glassfish / domains / domain1 (GlassFish Server 3.1).

Existem situações em que isso danificará seu domínio, já que você pode instalar módulos OSGi em seu servidor que não vêm do diretório glassfish / modules. Para evitar esse tipo de problema, você pode querer

  1. Verifique se o servidor está parado

  2. Aplique esta solução alternativa .

Para dar crédito, a resposta vem desse segmento .

Aqui está o resumo executivo e o que você precisa fazer:

Eu acho que você precisa excluir o cache de estrutura OSGi existente, uma vez que a estrutura usa a localização dos pacotes configuráveis ​​como uma chave e, portanto, mover o diretório de instalação altera essa chave. Você só deve poder excluir:

glassfish-v3/glassfish/domains/domain1/osgi-cache/felix/