Hi All, You may be aware that as part of the Jakarta EE 9 release later this year, the various APIs provided in TomEE will be shifting from javax namespaces to jakarta.
I'm currently researching the use of the Eclipse Transformer project ( https://projects.eclipse.org/projects/technology.transformer) to translate both the TomEE server itself, and the source code for the examples. So far, I have a converted javaee-api.jar, and a Jakarta-ized version of TomEE that boots. There's *lots* that doesn't work at the present moment, but I'm expecting to have the moviefun example running fairly soon - that covers EJB, Servlets, JSPs, JPA. The REST version of the sample also covers JAX-RS too. I'm aware that there's also a migration tool that Tomcat have been working on too, and will be looking at. We ought to have some discussion about the approach here - in my mind there are some high-level goals: * Try and maintain a single codebase for javax and jakarta. It's tempting to fork master and embark on a massive renaming exercise. That's complex as we'd need to do that for various dependencies as well, who may also have other branches and timelines. Having two codebases also means that any changes need to be applied twice, and with renamed packages, its unlikely the git merging or cherry-picking will work. * Be backwards compatible - One goal I had in my mined, is that if you have an application that uses javax, you'd probably like to be able to run it on a new Jakarta EE server. There are some options here - I quite like the idea of running the Transformer as a javaagent, so any applications deployed using the old namespaces are converted on the fly at the bytecode level. * Tooling - I wonder what tooling we could potentially provide? One thought I had was a Maven plugin that can transform a war/ear file for you as part of a build. Anyway, just wanted to give a heads-up on the research. Any thoughts / discussions / questions are encouraged. Jon
