[jboss-jira] [JBoss JIRA] (WFLY-2727) @DataSourceDefinition defined data source can't be used in persistence.xml with CDI entity listeners
Scott Marlow (JIRA)
issues at jboss.org
Wed Jan 8 18:21:33 EST 2014
[ https://issues.jboss.org/browse/WFLY-2727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12934581#comment-12934581 ]
Scott Marlow commented on WFLY-2727:
------------------------------------
{quote}
Maybe I don't fully understand, but since Hibernate is used by WildFly and part of the JBoss community, what is stopping things from working out of the box now? Or is the extension you mention for a version of Hibernate newer than what WildFly is currently using?
{quote}
We did implement the 2-phase PU bootstrap in Hibernate (as an extension), however, we (Hibernate) still needs access to the datasource in the first phase. With regard to DataSourceDefinition, I think it will help when HHH-8659 is addressed in Hibernate (to move datasource access to the second pu bootstrap phase).
{quote}
Okay, so that's indeed more clear. But practically speaking there's also the issue now that users have to add the above mentioned property, isn't there? Since @DataSourceDefinition is largely an ease-of-use feature, this may be a bit problematic for exactly those users who are the intended target. If the issue can't be solved otherwise for the short term, would it be an option to provide a hint to the user when logging the error that this property needs to be set?
{quote}
I agree, that it is an issue that the user has to know to add the property. In this case, the thrown error is generic and doesn't understand the context of what is causing the error. It would be pretty cool if WildFly could determine that it is a datasource error and that the @DataSourceDefinition isn't available. Even better, if a suggestion to address the failure (add a PU hint) could be given.
{quote}
This sounds like a very important improvement indeed and certainly worth it to create a JIRA issue on the JPA tracker for.
{quote}
Great idea!
> @DataSourceDefinition defined data source can't be used in persistence.xml with CDI entity listeners
> ----------------------------------------------------------------------------------------------------
>
> 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
More information about the jboss-jira
mailing list