[
https://issues.jboss.org/browse/WFLY-2727?page=com.atlassian.jira.plugin....
]
Scott Marlow edited comment on WFLY-2727 at 1/8/14 1:32 PM:
------------------------------------------------------------
Yes, if applications use both a @DataSourceDefinition and entity class listeners that use
CDI, they will not work correctly. There is a Hibernate change that we have discussed
that will help in the future (so at least Hibernate will work correctly).
There was some discussion here
[
https://java.net/projects/jpa-spec/lists/jsr338-experts/archive/2013-06/t...]
about the two phase persistence unit bootstrap idea. I think that this will be addressed
when all persistence providers implement a 2-phase bootstrap approach to starting the
EntityManagerFactory and defer use of the datasource until the second phase. Currently,
Hibernate uses the datasource in the *first* boot strap phase. Note that we implemented
an extension in Hibernate to allow the persistence unit to be created in two phases.
When/if the extension is standardized as part of some future JPA spec release, hopefully
we will have all persistence providers (in their new releases) implementing it.
was (Author: smarlow):
Yes, if applications use both a @DataSourceDefinition and entity class listeners that
use CDI, they will not work correctly. There is a Hibernate change that we have discussed
that will help in the future (so at least Hibernate will work correctly).
There was some discussion here
[
https://java.net/projects/jpa-spec/lists/jsr338-experts/archive/2013-06/t...]
about the two phase persistence unit bootstrap idea. I think that this will be addressed
when all persistence providers implement a 2-phase bootstrap approach to starting the
EntityManagerFactory and defer use of the datasource until the second phase. Currently,
Hibernate uses the datasource in the phase boot strap phase. Note that we implemented an
extension in Hibernate to allow the persistence unit to be created in two phases. When/if
the extension is standardized as part of some future JPA spec release, hopefully we will
have all persistence providers (in their new releases) implementing it.
@DataSourceDefinition defined data source can't be used in
persistence.xml
--------------------------------------------------------------------------
Key: WFLY-2727
URL:
https://issues.jboss.org/browse/WFLY-2727
Project: WildFly
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: EE, JPA / Hibernate
Affects Versions: 8.0.0.CR1
Reporter: arjan tijms
Assignee: Scott Marlow
Defining a data source from within the application using either {{@DataSourceDefinition}}
on a class or the {{data-source}} element in {{web.xml}}, and then using this in
{{persistence.xml}} will cause a deployment failure.
E.g.
{code:xml|title=web.xml}
<data-source>
<name>java:app/MyApp/MyDS</name>
<class-name>org.h2.jdbcx.JdbcDataSource</class-name>
<url>jdbc:h2:mem:test</url>
</data-source>
{code}
and
{code:xml|title=persistence.xml}
<persistence-unit name="testPU">
<jta-data-source>java:app/MyApp/MyDS</jta-data-source>
</persistence-unit>
{code}
will result in:
{noformat}
ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 3)
JBAS014613: Operation ("deploy") failed - address: ([("deployment"
=> "dca783dd-b383-4a16-85a4-1331a2f89354.war")]) - failure description:
{"JBAS014771: Services with missing/unavailable dependencies" =>
["jboss.persistenceunit.\"dca783dd-b383-4a16-85a4-1331a2f89354.war#testPU\".__FIRST_PHASE__
is missing
[jboss.naming.context.java.app.dca783dd-b383-4a16-85a4-1331a2f89354.MyApp.MyDS]"]}
ERROR [org.jboss.as.server] (management-handler-thread - 3) JBAS015870: Deploy of
deployment "dca783dd-b383-4a16-85a4-1331a2f89354.war" was rolled back with the
following failure message: {"JBAS014771: Services with missing/unavailable
dependencies" =>
["jboss.persistenceunit.\"dca783dd-b383-4a16-85a4-1331a2f89354.war#testPU\".__FIRST_PHASE__
is missing
[jboss.naming.context.java.app.dca783dd-b383-4a16-85a4-1331a2f89354.MyApp.MyDS]"]}
{noformat}
--
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