Tecnologia > Manual de Instalação > Instalação > Passo a passo para a instalação do Servidor de Aplicativos > Pós-instalação > Por produto > Performance Corporativa > Workflow > GlassFish JMS Connection Factories

GlassFish JMS Connection Factories

Para melhor utilização dos recursos de hardware disponíveis para o GlassFish, é necessário realizar algumas configurações que são importantes para a performance e utilização correta dos recursos quando Workflow estiver sendo utilizado.

Estas configurações são bem sensíveis e variam de um ambiente para outro. As configurações também devem considerar os processos que serão executados nesse ambiente e a forma como estes serão executados (quantidade de vezes e periodicidade).

Sendo assim, é necessário primeiramente conhecer o ambiente a ser configurado antes de realizar a configuração, obtendo informações como disponibilidade de hardware, processos que serão executados e a frequência de utilização destes.

Nota

Com o passar do tempo as configurações devem ser ajustada conforme percepção dos processos e de seu uso, assim como, do desempenho do Workflow.

Configuração de Filas e Tópicos

  1. Acesse o console de administração do GlassFish, acessível pelo nome do servidor + a porta configurada no momento de sua instalação;

    Nota

    Para acessar o console é necessário utilizar o usuário e senha configurados na instalação/configuração do Glassfish.

  1. Acesse a tela Resources > JMS resources > Connection Factories;
  2. Após isso, é apresentada uma listagem com as connection factories existentes;

    Nota

    Não pode-se confiar na lista de connections factories exibida na árvore do GlassFish. Por isso, sempre olhe as connections factories através da lista exibida na página do lado direito.

  1. É necessário existir quatro connection factories do Workflow, estas possuem o seu nome iniciado com "jms/TaskManager" e terminado com "Factory";
  2. Acesse a configuração de cada uma das connection factories citadas acima, clicando sobre o seu nome;

    Importante

    • Initial and Minimum Pool Size: a configuração desse campo deve ser igual para todas as Filas e Tópicos do Workflow;
    • Maximum Pool Size: a configuração desse campo deve ser igual para todas as Filas e Tópicos do Workflow. O valor padrão da instalação é 15. Esse valor deve ser configurado após a instalação para que fique adequado a realidade de cada ambiente. A não configuração pode ocasionar perda de desempenho e mal funcionamento do produto
    Connection factoriesDescrição "Prende" conexão de bancoTransaction Support Maximum Pool Size Initial/Minimum Pool Size
    Jms/TaskManagerFactoryResponsabilidade:Responsável pela execução do processo, sendo utilizada para iniciar processos, cancelar, responder, entre outras ações.Ela somente é liberada quando processo parar esperando uma intervenção externa (Exemplo: aguardando uma pendência ser tradada).Impacto na execução:Possível demora na execução nessa fila não terá muito impacto no usuário, já que são transações mais demoradas.Sim. Cada execução prende uma conexão de banco, segurando-a até o término de sua execução.Não há nenhum controle sobre quando estas serão devolvidas.Marcar a opção NoTransaction.A quantidade irá variar conforme os processos utilizados no ambiente. Informar a metade da quantidade informada no campo Maximum Pool Size.

    Importante

    Esse número é o mínimo de conexões de banco que não serão devolvidas ao banco.

    Jms/TaskManagerValidationFactoryResponsabilidade:Responsável por executar validações sobre a execução dos processos. Por exemplo: validações executadas pelo Workflow antes de iniciar um processo.Impacto na execução:Como se trata de transações mais rápidas, caso ocorra o atraso na execução por ter muitas execuções, o usuário perceberá o atraso.Sim. Cada execução prende uma conexão de banco, segurando-a até o término de sua execução.Não há nenhum controle sobre quando estas serão devolvidas.Marcar a opção NoTransaction.A quantidade irá variar conforme os processos utilizados no ambiente. Informar a metade da quantidade informada no campo Maximum Pool Size.

    Importante

    Esse número é o mínimo de conexões de banco que não serão devolvidas ao banco.

    Jms/TaskManagerUtilityFactoryResponsabilidade:Responsável por executar funções mais utilitárias aos processos. Por exemplo: envio de e-mail.Sim. Cada execução prende uma conexão de banco, segurando-a até o término de sua execução. Não há nenhum controle sobre quando estas serão devolvidas.Marcar a opção NoTransaction. A quantidade irá variar conforme os processos utilizados no ambiente.Informar a metade da quantidade informada no campo Maximum Pool Size.
    Jms/TaskManagerResponseFactoryResponsabilidade:Responsável por receber notificações de retorno de validações para que outras partes sejam notificadas.Não. Desvinculada de conexão de banco.Marcar a opção NoTransaction. A quantidade irá variar conforme os processos utilizados no ambiente. Informar a metade da quantidade informada no campo Maximum Pool Size.

Importante

Números mais altos não necessariamente significam mais performance, podenm significar problemas de performance.

Sobre as conexões de Banco disponíveis para o Workflow:

Nota

Nas Filas TaskManagerFactory e TaskManagerValidationFactory, a configuração Maximum pool size indica a quantidade máxima de conexões que o GlassFish abrirá para o OpenMQ - recurso para troca de mensagens. Isto quer dizer que, pode-se ter um Maximum pool size de 5 e ter 50 processos executando ao mesmo tempo no servidor. Isso implica em termos 50 conexões banco sendo utilizadas. Sendo assim, quanto menor o número de conexões que o GlassFish abrir para o OpenMQ, menos processos estarão sendo executados, pois menos mensagens serão consumidas.

Este artigo ajudou você?