WAR deployment fails due to NPE when both MBean and persistence-unit are packaged in one war on JBoss EAP 7.2
Issue
When a web application contains both MBean (jboss-service.xml
) and persistence-unit (persistence.xml
), the WAR deployment fails due to the following NullPointerException
on JBoss EAP 7.2.x. The same application can be deployed on JBoss EAP 7.1.x.
12:32:36,613 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."helloworld-mbean-webapp.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."helloworld-mbean-webapp.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "helloworld-mbean-webapp.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1737)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1699)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1557)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1364)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: Method parameter cannot be null
at org.jboss.msc.service.ServiceBuilderImpl.assertNotNull(ServiceBuilderImpl.java:574)
at org.jboss.msc.service.ServiceBuilderImpl.addDependencies(ServiceBuilderImpl.java:242)
at org.jboss.msc.service.ServiceBuilderImpl.addDependencies(ServiceBuilderImpl.java:234)
at org.jboss.as.service.MBeanServices.<init>(MBeanServices.java:112)
at org.jboss.as.service.ParsedServiceDeploymentProcessor.addServices(ParsedServiceDeploymentProcessor.java:133)
at org.jboss.as.service.ParsedServiceDeploymentProcessor.deploy(ParsedServiceDeploymentProcessor.java:118)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144)
... 8 more
...(snip)...
12:32:37,720 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "helloworld-mbean-webapp.war")]) - failure description: {
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"helloworld-mbean-webapp.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"helloworld-mbean-webapp.war\"
Caused by: java.lang.NullPointerException: Method parameter cannot be null"},
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.deployment.unit.\"helloworld-mbean-webapp.war\".WeldStartService",
"jboss.deployment.unit.\"helloworld-mbean-webapp.war\".beanmanager"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.deployment.unit.\"helloworld-mbean-webapp.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"helloworld-mbean-webapp.war\".beanmanager, jboss.deployment.unit.\"helloworld-mbean-webapp.war\".WeldStartService]",
"jboss.deployment.unit.\"helloworld-mbean-webapp.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"helloworld-mbean-webapp.war\".beanmanager]"
]
}
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 7.2.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.