[
https://issues.jboss.org/browse/WFLY-1463?page=com.atlassian.jira.plugin....
]
Scott Marlow closed WFLY-1463.
------------------------------
By default, we will create the persistence unit in two phases, which works around the
conflict between implicit CDI (reads application classes) + creating the persistence unit.
If the persistence unit has a hint "wildfly.jpa.twophasebootstrap" set to false,
the persistence unit will be created in one phase (implicit CDI bean manager will not be
passed in when the EntityManagerFactory is created, which means entity listeners cannot
use CDI.
PersistenceUnitService depends on not-yet-available BeanManager
---------------------------------------------------------------
Key: WFLY-1463
URL:
https://issues.jboss.org/browse/WFLY-1463
Project: WildFly
Issue Type: Bug
Components: JPA / Hibernate
Affects Versions: 8.0.0.Alpha1
Reporter: Jozef Hartinger
Assignee: Scott Marlow
Fix For: 8.0.0.Alpha3
I am getting
{noformat}
17:12:25,453 ERROR [org.jboss.as.controller.management-operation]
(management-handler-thread - 2) JBAS014613: Operation ("deploy") failed -
address: ([("deployment" =>
"jpa_txTimeoutTestWithMockProvider.ear")]) - failure description:
{"JBAS014771: Services with missing/unavailable dependencies" =>
["jboss.persistenceunit.\"jpa_txTimeoutTestWithMockProvider.ear/ejbjar.jar#mypc\"
is missing
[jboss.deployment.subunit.\"jpa_txTimeoutTestWithMockProvider.ear\".\"ejbjar.jar\".beanmanager]"]}
17:12:25,459 ERROR [org.jboss.as.server] (management-handler-thread - 2) JBAS015870:
Deploy of deployment "jpa_txTimeoutTestWithMockProvider.ear" was rolled back
with the following failure message: {"JBAS014771: Services with missing/unavailable
dependencies" =>
["jboss.persistenceunit.\"jpa_txTimeoutTestWithMockProvider.ear/ejbjar.jar#mypc\"
is missing
[jboss.deployment.subunit.\"jpa_txTimeoutTestWithMockProvider.ear\".\"ejbjar.jar\".beanmanager]"]}
{noformat}
The problem is caused by PersistenceUnitServiceHandler.deployPersistenceUnit() which, if
the PU is deployed in a CDI-enabled archive, adds a dependency on the BeanManager service.
This happens in PersistenceBeginInstallProcessor which executes in the FIRST_MODULE_USE
phase.
However, the BeanManager service is not installed by the Weld subsystem until the INSTALL
phase.
This can be reproduced easily. Take for example the
org.jboss.as.test.integration.jpa.mockprovider.txtimeout.TxTimeoutTestCase and add an
empty beans.xml file to the ejb jar (ejbjar.addAsManifestResource(EmptyAsset.INSTANCE,
"beans.xml"))
This issue blocks proper Weld integration (implicit bean archives).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira