Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8047776

Add module java.transaction to export API javax.transaction

    XMLWordPrintable

Details

    • b46

    Backports

      Description

        This task tracks a review of the Java Transaction API (JTA) is conjunction with EE with a view to agreeing a solution for how it will work with modules going forward.

        The main issue here is that Java SE defines a subset of JTA, specifically:

        1. javax.transaction with 3 exceptions. Java SE is required to carry these 3 exceptions because of the CORBA Java Language to IDL Mapping specification, specifically the section that deals with the mapping of CORBA System Exceptions to RMI Exceptions.

        2. All of javax.transaction.xa due to an API dependency in JDBC (javax.sql.XA*).
         
        In our prototype module graph then we have subsumed javax.transaction into the java.corba module, and javax.transaction.xa into the java.sql module. The primary motive was to avoid the JDBC module transitively requiring RMI (as the exception types in javax.transaction are java.rmi.RemoteException types). A secondary motive was to avoid having a tiny JTA module with a grand total of 6 tiny classes.

        We need to see whether the approach in the current prototype module graph can be agreed with EE. It amounts to splitting JTA into javax.transaction and javax.transaction.xa and puts a constraint that rev'ing javax.transaction.xa will require rev'ing it in Java SE. For javax.transaction then it will come down to whether EE will override both CORBA and JTA. If they only override one of these then the current approach of subsuming the 3 exceptions for RMI-IIOP into the CORBA module will need to be re-examined.

        Attachments

          Issue Links

            Activity

              People

                alanb Alan Bateman
                alanb Alan Bateman
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: