Visitar URL original
JPA persistence.xml should integrate with @DataSourceDefinition and web.xml data-source definition · Issue #30 · javaee/javaee-spec · GitHub
Skip to content
This repository was archived by the owner on Jan 30, 2019. It is now read-only.
This repository was archived by the owner on Jan 30, 2019. It is now read-only.

JPA persistence.xml should integrate with @DataSourceDefinition and web.xml data-source definition #30

Description

@glassfishrobot

Datasources defined via @DataSourceDefinition allow @resource injection of DataSource objects into application code. However, these data-sources are not integrated with the persistence.xml JPA configuration file. And attempted use of the custom defined DataSource in persistence.xml will result in deployment failure. The EE spec allow for interop between these features:

For a datasource definition:

@DataSourceDefinition(
         url = "jdbc:h2:mem:",
         className = "org.h2.jdbcx.JdbcDataSource",
         name = "java:global/jdbc/h2db",
         user = "sa",
         password = "")

The following persistence.xml should be valid:

<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd"> 
   <persistence-unit name="default" transaction-type="JTA">
      <jta-data-source>java:global/jdbc/h2db</jta-data-source>
      <exclude-unlisted-classes>false</exclude-unlisted-classes>
   </persistence-unit>

</persistence>

Environment

EE 6/7+

Activity

  1. glassfishrobot commented on Sep 9, 2013

    @glassfishrobot
    Author

    Reported by lincolnbaxter

  2. glassfishrobot commented on Sep 9, 2013

    @glassfishrobot
    Author

    reza_rahman said:
    I think this is a bug unrelated to the spec. I have this use case working fine: https://java.net/projects/cargotracker/pages/Home.

  3. glassfishrobot commented on Sep 12, 2013

    @glassfishrobot
    Author

    kithouna said:
    This is definitely a bug with whatever server OP is using.

    See http://henk53.wordpress.com/2012/06/30/the-state-of-datasourcedefinition-in-java-ee + http://henk53.wordpress.com/2012/04/15/jsf2-primefaces3-ejb3-jpa2-integration-project/#step10 and http://jdevelopment.nl/open-source/java-ee-kickoff-app for two other working cases.

    If the server happens to be Glassfish, remember that due to a big bug in that you have to copy the JDBC driver to some installation directory of Glassfish itself. See GLASSFISH-19451

  4. glassfishrobot commented on Jan 8, 2014

    @glassfishrobot
    Author

    arjan_t said:
    There's is definitely something fishy here. Historically this has failed more often and if I'm not misinterpreting things some vendors at least gave (me) the impression that they thought this didn't needed to be supported.

    For the current crop of Java EE 7 servers it again fails. See WildFly issue https://issues.jboss.org/browse/WFLY-2727 and GlassFish issue GLASSFISH-20944

    I think the spec should explicitly say that @DataSourceDefinition and web.xml's data-source definition can be used in persistence.xml and add a TCK test that checks that this is indeed possible for a given implementation.

  5. glassfishrobot commented on Jan 9, 2014

    @glassfishrobot
    Author

    arjan_t said:
    For the JPA side of this issue see JPA_SPEC-70

  6. glassfishrobot commented on Apr 10, 2014

    @glassfishrobot
    Author

    lincolnbaxter said:
    When speaking to the various people in charge of JPA integration in these servers, I got the overall impression that they did not believe the spec required this, which is why it does not work on most servers. Thus I moved to file a spec issue that would cause people to do the right thing

  7. glassfishrobot commented on Apr 15, 2014

    @glassfishrobot
    Author

    ldemichiel said:
    The spec does require this. We'll make sure that this is clearer in the future, and add a TCK test for it.

  8. glassfishrobot commented on Mar 13, 2016

    @glassfishrobot
    Author

    arjan_t said:
    @ldemichiel

    We're now almost 2 years later and just wondering, has this TCK test already been added?

  9. glassfishrobot commented on Apr 25, 2017

    @glassfishrobot
    Author

    This issue was imported from java.net JIRA JAVAEE_SPEC-30

  10. arjantijms commented on Aug 13, 2018

    @arjantijms
    Member

    This time it's more than 2 years later. Maybe if/when the TCK gets transferred we'll finally be able to see if that TCK test was ever added or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions