Erro WFLYEJB0378: "Falha ao adquirir uma permissão em 5 MINUTOS" no AEM Forms no JEE (JBOSS)

Ao chamar o AEM Forms nos serviços JEE (por exemplo, por meio de pontos de extremidade Axis/soap), as chamadas falham intermitentemente com um erro de tempo limite. Isso se deve à exaustão do pool de instâncias EJB no container JBoss. Aumente o tempo limite da transação e ajuste a configuração do JBoss para ativar o serviço.

Descrição description

Ambiente

  • Produto: Adobe Experience Manager (AEM) - Forms em JEE
  • Servidor de aplicativos: JBoss
  • Escopo: SLSB (beans de sessão sem estado) e/ou MDB (beans orientados por mensagem) em carga ou operações de longa duração (fluxos de trabalho, pastas de observação, chamadas de serviço pesadas)

Problema / Sintomas

  • Falha nas invocações de serviço com WFLYEJB0378: falha ao adquirir uma permissão em 5 MINUTES erro.
  • Os rastreamentos de pilha de eixo/soap mostram ALC-DSC-099-000 e DSCRuntimeException.
  • Ocorre durante carga de pico ou quando processos de longa execução/ocupados estão ativos.

Log de erros:

Erro:
17:13:02,911 INFO [ org.apache.axis.EXCEPTIONS] (tarefa padrão-92) AxisFault:: ALC-DSC-099-000: com.adobe.idp.dsc.DSCRuntimeException: javax.ejb.EJBException: *WFLYEJB0378: Falha ao adquirir uma permissão em 5 MINUTOS*
org.apache.axis.AxisFault.makeFault(AxisFault.java:101) [ axis-1.4.1.1.jar:]
em org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:331) [ axis-1.4.1.1.jar:]
em org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) [ axis-1.4.1.1.jar:]
em org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) [ axis-1.4.1.1.jar:]
em org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) [ axis-1.4.1.1.jar:]
em org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:420) [ axis-1.4.1.1.jar:]
em org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) [ axis-1.4.1.1.jar:]
em org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:684) [ axis-1.4.1.1.jar:]

Resolução resolution

Observação: o aumento do tamanho máximo do pool pode resolver o esgotamento do thread, mas corre o risco de sobrecarregar os recursos JVM, limitar o SO e mascarar problemas de arquitetura mais profundos. Ajuste com cuidado e planejamento de capacidade adequado.

Para resolver esse problema:

  1. Aumente o tempo limite da transação se houver expectativa de que processos de longa duração evitem falhas prematuras.

  2. Atualize a configuração JBoss ajustando as configurações de strict-max-pool em standalone.xml ou lc_turnkey.xml para aumentar os valores de max-pool-size e instance-acquisition-timeout, por exemplo:

    code language-none
    <strict-max-pool name="slsb-strict-max-pool" max-pool-size="200" instance-acquisition-timeout="10" instance-acquisition-timeout-unit="MINUTES"/>
    <strict-max-pool name="mdb-strict-max-pool" max-pool-size="200" instance-acquisition-timeout="10" instance-acquisition-timeout-unit="MINUTES"/>
    

    Consulte Instalando e implantando o Adobe Experience Manager Forms no JEE para JBoss para obter mais detalhes.

  3. Se o serviço JBoss não responder, encerre manualmente o processo Java e reinicie o servidor da aplicação para restaurar a operação normal.

  4. Depois de aplicar as alterações de configuração, reinicie o servidor e verifique os logs para confirmar se o erro não é mais exibido e se os serviços estão funcionando corretamente.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f