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:
-
Aumente o tempo limite da transação se houver expectativa de que processos de longa duração evitem falhas prematuras.
-
Atualize a configuração JBoss ajustando as configurações de
strict-max-poolemstandalone.xmloulc_turnkey.xmlpara aumentar os valores demax-pool-sizeeinstance-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.
-
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.
-
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.