Hi Alan,

This change looks okay to me.

But the bug synopsis and description should clarify that it drops javax.transaction from compact2 and compact3, as you are moving it to the full JRE.

Thanks,
David

On 30/05/2014 10:29 PM, Alan Bateman wrote:

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 :=


Reply via email to