-
Bug
-
Resolution: Done
-
Critical
-
None
-
None
-
Medium
If a deployment contains more than 2730 EJBs, the deployment's INSTALL phase will get a stack trace like this:
2018-03-25 08:22:34,115 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."example.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."example.jar".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "example.jar" at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalArgumentException: Too many dependencies specified (max is 16383) .......... (*1) at org.jboss.msc.service.ServiceBuilderImpl.doAddDependency(ServiceBuilderImpl.java:216) at org.jboss.msc.service.ServiceBuilderImpl.addDependenciesNoCheck(ServiceBuilderImpl.java:158) at org.jboss.msc.service.ServiceBuilderImpl.addDependencies(ServiceBuilderImpl.java:152) at org.jboss.msc.service.ServiceBuilderImpl.addDependencies(ServiceBuilderImpl.java:142) at org.jboss.as.naming.deployment.JndiNamingDependencyProcessor.deploy(JndiNamingDependencyProcessor.java:59) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147) ... 5 more
The reason is that the INSTALL phase has six additional dependencies per EJB:
- service jboss.naming.context.java.comp.example.example.<class-name>.InAppClientContainer
- service jboss.naming.context.java.comp.example.example.<class-name>.InstanceName
- service jboss.deployment.unit."example.jar".component.<class-name>.JndiBindingsService
- service jboss.naming.context.java.comp.example.example.<class-name>.UserTransaction
- service jboss.naming.context.java.comp.example.example.<class-name>.TransactionSynchronizationRegistry
- service jboss.naming.context.java.comp.example.example.<class-name>.BeanManager
We probably should not be creating N dependencies per deployment object since all the services of a given kind are always started together. They could be grouped at a deployment level instead.
- is blocked by
-
WFCORE-4390 Introduce COMPONENT_JNDI_DEPENDENCIES attachment key
- Resolved
- is cloned by
-
JBEAP-15816 Too many services and dependencies created for EJBs
- Closed
- relates to
-
JBEAP-12237 [GSS](7.2.z) Too Many Dependencies Error occurs while deploying a large number of SLSBs to EAP 7
- Closed