]
Scott Marlow closed WFLY-6485.
------------------------------
Resolution: Done
add JPA dependency in subdeployments to avoid NPE
--------------------------------------------------
Key: WFLY-6485
URL:
https://issues.jboss.org/browse/WFLY-6485
Project: WildFly
Issue Type: Bug
Components: CDI / Weld, JPA / Hibernate
Affects Versions: 10.0.0.Final
Reporter: Scott Marlow
Assignee: Scott Marlow
Priority: Blocker
Fix For: 10.1.0.Final
WeldDeploymentProcessor only processes top level deployments (jpa dependencies for
subdeployments are skipped). This means that subdeployments that CDI inject a persistence
unit/context, will not add a dependency on the JPA PersistenceUnitService. As a result,
the PersistenceUnitService is referenced before it is started (which leads to
PersistenceUnitService.entityManagerFactory being null).
We should avoid the following NPE by ensuring that dependencies on the JPA persistence
unit are added for all sub-deployments.
{quote}
Caused by: java.lang.NullPointerException
at
org.jboss.as.jpa.container.TransactionScopedEntityManager.createEntityManager(TransactionScopedEntityManager.java:186)
at
org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:91)
at org.jboss.as.jpa.container.AbstractEntityManager.find(AbstractEntityManager.java:212)
{quote}
Potential fix is at [
https://github.com/scottmarlow/wildfly/tree/jpaNPE]