Jakarta Activation 2.0

Release Date

The Jakarta Activation 2.0 specification follows the release plan for Jakarta EE 9.  In addition, it introduces a minor incompatible change.

Activation depends on the java.awt.datatransfer package.  That made

sense at the time, pre-Swing, when Java on the desktop was still

very interesting.  Unfortunately, Android doesn't include

java.awt.datatransfer, so using Mail, which depends on Activation,

requires some sort of kludge to work around or supply the missing


I'd like to remove the dependency on java.awt.datatransfer in

Activation so that the same version of Mail can be used on both

Java and Android. This is an incompatible change, although not one

that is likely to impact any users of Mail (the biggest user of

Activation) or JAXB or any of the other minor uses of Activation.

In fact, this change did not require any changes to the Mail TCK.

So, since Jakarta EE 9 is already a BIG incompatible change, I'd

like to add this small incompatible change to the list.  After

Jakarta EE 9, I don't think we want to be introducing more incompatible

changes (although we haven't yet had the discussion to decide on

rules for such things), so it seems to me that I have one window

to fix this problem and that window is Jakarta EE 9.

This release updates the implementation to version 2.0.0 to implement version 2.0 of the specification, and includes the corresponding standalone TCK.


As described above, this release introduces an incompatible change that is not expected to impact most users.  The biggest impact is to those who write their own DataContentHandlers and will need to change any references to the DataFlavor class to instead reference the ActivationDataFlavor class, and to remove any references to the Transferrable interface.  This is typically a straightforward change to most DataContentHandlers.

This release is part of Jakarta EE 9