WFLYEJB0378:AEM Forms on JEE (JBOSS)中出现“未能在5分钟内获得许可证”错误
在JEE服务上调用AEM Forms(例如,通过Axis/soap端点)时,调用间歇性地失败,并出现超时错误。 这是由于JBoss容器中的EJB实例池已用尽。 增加事务超时并调整JBoss配置以启动服务。
描述 description
环境
- 产品: Adobe Experience Manager (AEM) - JEE上的Forms
- 应用服务器: JBoss
- 作用域: 加载或长时间运行的操作(工作流、监视文件夹、大量服务调用)下的无状态会话Bean (SLSB)和/或消息驱动Bean (MDB)
问题/症状
- 服务调用失败,出现 WFLYEJB0378:未能在5分钟内获得许可 错误。
- 轴/soap栈栈跟踪显示 ALC-DSC-099-000 和 DSCRuntimeException。
- 在峰值负载期间或长时间运行/繁忙进程处于活动状态时发生。
错误日志:
错误:
17:13:02,911 INFO [ org.apache.axis.EXCEPTIONS] (默认task-92) AxisFault:: ALC-DSC-099-000: com.adobe.idp.dsc.DSCRuntimeException: javax.ejb.EJBException: *WFLYEJB0378:未能在5分钟内获得许可\
org.apache.axis.AxisFault.makeFault(AxisFault.java:101) [轴 — 1.4.1.1.jar:]
在org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:331) [轴 — 1.4.1.1.jar:]
在org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) [轴 — 1.4.1.1.jar:]
在org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) [ axis-1.4.1.1.jar:]
在org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) [轴 — 1.4.1.1.jar:]
在org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:420) [轴 — 1.4.1.1.jar:]
在org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) [ axis-1.4.1.1.jar:]
在org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:684) [轴 — 1.4.1.1.jar:]*
解决方法 resolution
注意: 增加最大池大小可能会解决线程枯竭的问题,但可能会导致JVM资源紧张、操作系统限制以及掩盖更深层的体系结构问题 — 请谨慎调整并适当规划容量。
要解决此问题:
-
如果预期长时间运行的进程可以防止过早失败,则增加事务超时。
-
通过调整
strict-max-pool或standalone.xml中的lc_turnkey.xml设置来更新JBoss配置,以增加max-pool-size和instance-acquisition-timeout值,例如: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"/>有关更多详细信息,请参阅在JEE上安装和部署Adobe Experience Manager Forms for JBoss。
-
如果JBoss服务变得无响应,请手动终止Java进程并重新启动应用程序服务器以恢复正常操作。
-
应用配置更改后,重新启动服务器并验证日志,以确认错误不再显示且服务运行正常。