8043753: Drop javax.transaction from compact2

Alan Bateman Alan.Bateman at oracle.com
Fri May 30 12:29:07 UTC 2014


This is a proposed change to the set of API packages in the compact2 and 
compact3 Profiles that we defined in Java SE 8 / JDK 8.

The background to this is that compact2 includes the subset of the Java 
Transaction API (JTA) that Java SE defines. JTA isn't usually 
interesting for small devices but JDBC is and the JBDC API has API 
dependencies on a number of XA types defined in javax.transaction.xa. 
We've been looking at this again in the context of of moving to a truly 
modular JDK. For a modular JDK it would be highly desirable to have a 
JDBC module that has as few transitively dependencies as possible. The 
problem with a dependence on JTA is that the 3 exceptions in 
javax.transaction are RemoteException types and are only useful for 
RMI-IIOP. So we'd like to split these so that javax.transaction can live 
closer to CORBA and have javax.transaction.xa be closer to JDBC. In 
order to get there then compact2 (and thus compact3) will need to 
change. The compatibility impact of this is close is very low as it is 
highly unlikely that applications running on embedded systems would be 
making use of these 3 exceptions.

The build changes are simple, it just changes 
PROFILE_2_RTJAR_INCLUDE_PACKAGES to include the xa package and then 
updates FULL_JRE_RTJAR_INCLUDE_TYPES to ensure that javax.transaction is 
included in the full JRE/JDK builds.

Thanks,

-Alan.


diff --git a/make/profile-rtjar-includes.txt 
b/make/profile-rtjar-includes.txt
--- a/make/profile-rtjar-includes.txt
+++ b/make/profile-rtjar-includes.txt
@@ -88,7 +88,7 @@
      java/sql \
      javax/rmi/ssl \
      javax/sql \
-    javax/transaction \
+    javax/transaction/xa \
      javax/xml \
      org/w3c \
      org/xml/sax \
@@ -223,7 +223,8 @@
      javax/management/remote/rmi/_RMIConnection_Stub.class \
      javax/management/remote/rmi/_RMIServerImpl_Tie.class \
      javax/management/remote/rmi/_RMIServer_Stub.class \
-    javax/rmi/*.class
+    javax/rmi/*.class \
+    javax/transaction/*.class

  FULL_JRE_RTJAR_EXCLUDE_TYPES :=





More information about the build-dev mailing list