Tecnologia > Manual de Instalação > Instalação > Passo a passo para a instalação do Servidor de Aplicativos > Pré-requisitos por produto > Performance Corporativa > Workflow > Configurar o Glassfish para o Workflow

Configurar o GlassFish para o Workflow

Com os demais pré-requisitos atendidos, é necessário configurar o GlassFish para que o Workflow possa ser instalado.

Configurando o GlassFish com JMS remoto

  1. Acesse o console administrador do GlassFish;
  2. Acesse Configurations > server-config > Java Message Service;
  3. Altere a propriedade JMS Service Type para REMOTE;
  4. Verifique qual o Default JMS Host, pois o próximo passo é alterar este JMS Host:

  5. Acesse Configurations > server-config > Java Message Service > JMS Host > (nome do host determinado);
  6. Informe os parâmetros abaixo:
    • Host: caminho do servidor do OpenMQ (caso for no mesmo servidor deixar localhost);
    • Port: porta em que o OpenMQ foi iniciado;
Importante

A partir deste momento o GlassFish só vai iniciar se o OpenMQ estiver iniciado.

Configurando o GlassFish em ambiente de produção

O GlassFish vem por padrão configurado para funcionar em um ambiente de desenvolvimento. No caso de ambientes de produção, vários ajustes devem ser feitos:

  1. Acesse o console administrador do GlassFish;
  2. Acesse a tela Configurations > server-config > Thread Pools > http-thread-pool;
  3. Preencha o campo Max Thread Pool Size com o número de núcleos do(s) processador(es) do servidor, multiplicado por 8. Exemplo: caso o servidor seja uma máquina quad-core (com 4 núcleos), então este valor deve ser 32 (4 x 8);
  4. Pressione o botão Save;
  5. Acesse a tela Configurations > server-config > JVM Settings > JVM Options;
  6. Altere os parâmetros de acordo com a tabela abaixo:
    Chave Descrição Novo valor
    -XX:MaxPermSize=192m Indica a quantidade de memória alocada no PermGenSpace da VM. O valor recomendado é ¼ do valor configurado pela chave -Xmx, ou 512 MB (o que for menor).
    -client Indica para a JVM que esta é uma aplicação client (como um aplicativo Java Swing, por exemplo). Altere para –server, pois esta aplicação é um servidor, que deve ficar no ar por vários dias direto.
    -Xmx512m Tamanho máximo de memória alocada pelo Java. Basicamente, é a área de trabalho da memória para o GlassFish. Deve ser configurado conforme a quantidade de memória física disponível na máquina, de tal forma que não seja feito muito swap de disco pelo Windows. Valores típicos ficam de faixa de 1 a 3 GB.
    -Xms Indica a quantidade inicial de memória alocada pelo Java.Valor deve ser incluído na configuração. Por questões de performance, deve ser sempre igual ao valor do parâmetro –Xmx acima.
    -XX:+UseConcMarkSweepGC Indica o algoritmo que o Garbage Collector (coletor de lixo) do Java deve utilizar para a limpeza da memória.Valor deve ser incluído na configuração. Indica ao Java para utilizar o coletor de lixo chamado Mark Sweep.
    -XX:+UseParNewGC Indica o algoritmo que o Garbage Collector (coletor de lixo) do Java deve utilizar para limpar a memória de curta duração.Valor deve ser incluído na configuração. Indica ao Java para utilizar um coletor de lixo paralelo na área de memória configurada pelo parâmetro –Xmn. Desta forma, objetos que duram pouco já são eliminados rapidamente da memória, sem consumir muito espaço.
    -XX:SurvivorRatio=20 Indica a razão entre a área de survivor e a área de curta duração da memória Valor deve ser incluído na configuração.O valor recomendado é 20, ou seja: a área de survivor é 1/20 da área configurada pelo parâmetro –Xmn.
    -XX:+CMSParallelRemarkEnabledAumenta a performance do coletor de lixo paralelo.Valor deve ser incluído na configuração.
    -XrsUtilizado quando o GlassFish é instalado como serviço. Indica para a JVM para reter a sessão do Windows.Valor deve ser incluído na configuração. Caso o GlassFish esteja sendo executado como serviço do Windows e este parâmetro não estiver configurado, ele pode encerrar abruptamente, sem registrar nenhum erro;
    -XX:NewRatio=2 Remova este parâmetro.

Tendo configuradas as propriedades, a lista deve ficar semelhante a imagem abaixo, podendo existir diferenças de acordo com a versão do GlassFish utilizada:

Nota

Não deve-se configurar o GlassFish para utilizar toda a memória RAM, pois não sobrará espaço para o sistema operacional e demais aplicativos, forçando o uso do swap em disco. Procure deixar em torno de 2 GB de RAM disponíveis para o Windows.

A memória alocada pelo GlassFish corresponde a soma do HEAP (-Xmx) e o PermGenSpace (-MaxPermSize).

Estes são valores típicos, que atendem a um uso padrão. Mas cada caso é específico e os valores citados podem não funcionar corretamente em algum cenário.

Configurando GlassFish como serviço

Importante

É recomendado que o GlassFish seja instalado como serviço, pois com isso, não é necessário iniciá-lo sempre que o servidor for reiniciado, evitando possíveis problemas. Caso opte-se por não instala-lo como serviço, é preciso garantir que este seja iniciado sempre que o servidor foi iniciado, e sempre depois do OpenMQ.

Para instalar o GlassFish como serviço siga os passos abaixo:

  1. Acesse o prompt de comando;
  2. Utilizando o comando cd\, acesse a pasta de instalação. (Ex: c:\glassfish\glassfish\bin);
  3. Digite o comando: asadmin create-service --name Workflow <domínio>
Nota

Workflow é o identificador do serviço e <domínio> deve ser o nome do domínio.

Definindo a JVM utilizada pelo GlassFish

  1. Abra o arquivo domain.xml localizado na pasta "config" do domínio;
  2. Adicione o parâmetro java-home na tag java-config com a JVM que deve ser utilizada.

Configurando dependência do GlassFish com o OpenMQ

O OpenMQ deve obrigatoriamente iniciar antes do GlassFish, caso contrário o GlassFish não iniciará. Para garantir esta situação, caso os dois estejam no mesmo servidor, pode-se configurar uma dependência do serviço do GlassFish para o do OpenMQ.

Importante

Caso estes serviços estejam em servidores diferentes ou algum dos deles não esteja instalado como serviço, este controle deve ser feito manualmente.

  1. Abra o arquivo <nome do serviço>.xml localizado na pasta "bin" do domínio;
  2. No arquivo aberto adicione a dependência do GlassFish com o OpenMQ: <depend>nome do serviço do OpenMQ</depend>;
    Nota

    Neste arquivo também é possível alterar o nome do serviço para ficar mais claro qual o serviço.

  3. Abra o prompt e execute o comando abaixo com as informações do diretório do domínio e nome do serviço corretos:

    <diretório do GlassFish>\glassfish\domains\<dominio do Workflow>\bin\<NomeServico>.exe uninstall

  4. Execute o comando abaixo com as informações do diretório do domínio e nome do serviço corretos:

    <diretório do GlassFish>\glassfish\domains\<dominio do Workflow>\bin\NomeServico.exe install

Este artigo ajudou você?