Hashtag Jakarta EE #89

Welcome to the eighty-ninth issue of Hashtag Jakarta EE!

We are approaching the last quarter of 2021 (can you believe it?), which in turn means that the first quarter of 2022 is also imminent. Why am I bringing this up? Well, here’s the deal. Jakarta EE 10 is scheduled for Q1, 2022, and to be able to deliver according to the release plan, all the individual specifications that are part of Jakarta EE 10 need to start their release process earlier.

The following dates have been communicated by the Jakarta EE Platform Project:

Target date: October 15, 2021
Last call: December 15, 2021

Some of the specification projects have started releasing/staging milestone releases. For example, the 5.0.0-M1 API for Jakarta Expression Language is available in the Jakarta Staging Repository. You can also find the 4.0.0-M1 of Jakarta Faces there. Currently released embedded with Eclipse Mojarra, hence the org.glassfish Group ID, but will soon be released separately when the work progresses.

Add the following repository definition to try out the staged artifacts:

    <repository>
        <id>jakarta-nexus-staging</id>
        <name>Jakarta Staging</name>
        <url>https://jakarta.oss.sonatype.org/content/repositories/staging/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>

Jakarta EE Elections

The elections for seats in the Jakarta EE committees have been initiated. Read about the details in Jakarta EE Elections. If you are in the process of writing up your nomination or already have nominated yourself, please reach out to me if you would like to create an accompanying promotion video. We will set up a short Studio Jakarta EE interview where you can tell the community why they should vote for you.

If you need inspiration for why you should contribute to Open Source in general, or Jakarta EE in particular, check out this great article and interview with Kevin Sutter.

Hashtag Jakarta EE #88

Welcome to the eighty-eighth issue of Hashtag Jakarta EE!

The release plan for Jakarta EE Core Profile 10 has been published by the Jakarta EE Platform project. I won’t go through every detail of it here, but I wanted to list the specifications that are proposed to be part of the first version of Jakarta EE Core Profile.

As you can derive from this list is that Jakarta EE Core Profile is focused on providing a minimal foundation for smaller runtimes that are suitable for microservices and also allows for ahead-of-time compilation. The TCK will be made available standalone and will be possible to execute on Java SE 11 and Java SE 17. The plan is to release Jakarta EE Core Profile in the same timeframe as Jakarta EE Platform and Web Profile, which is scheduled for Q1, 2022.

Last week, I had the pleasure of being a guest at the Journey to Jakarta podcast by Foojay together with Rudy De Busscher, Josh Juneau, and the host Erik Costlow. Listen in to hear us chat about the modernization of the Jakarta EE Platform, the importance of backward compatibility, and much more…

At the end of this Hashtag, I want to point you to the announcement that Spring 6.0 will be baseline with Java 17 and Jakarta EE 9. Juergen Hoeller explains all about the reasoning behind this decision in the post A Java 17 and Jakarta EE 9 baseline for Spring Framework 6. Spring 6.0 is planned to be released in Q4 2022.

Hashtag Jakarta EE #87

Welcome to the eighty-seventh issue of Hashtag Jakarta EE!

If you haven’t done so yet, I want to remind you of the JakartaOne Livestream 2021 Call for Papers. The CFP closes on September 15, so there is still time to have a chance of speaking to a global audience in the third edition of this annual event.

As I mentioned last week, the release plan for Jakarta EE 10 Platform and Web Profile has been approved and published with a target release date of Q1, 2022. It is expected that details around the plan for Jakarta EE Core Profile will be announced next week. Stay tuned for updates!

Even though the focus of this blog series is Jakarta EE, a little check on what’s going on in the Adoptium working group won’t hurt. For example, did you know that Eclipse Temurin is available in Docker Hub? Just type docker pull eclipse-temurin to pull the image.

Check out the description for how to use the image, or simply try it out like this:

$ docker run -it eclipse-temurin

|  Welcome to JShell -- Version 16.0.2
|  For an introduction type: /help intro

jshell> System.out.println("Hello, World!");
Hello, World!

jshell> 

There is a wide range of tags to choose from, currently builds based on OpenJDK 8, 11, and 16.

Hashtag Jakarta EE #86

Welcome to the eighty-sixth issue of Hashtag Jakarta EE!

The Jakarta EE 10 release plan is approved!

According to the plan, Jakarta EE 10 Platform and Web Profile is targeting a release in Q1, 2022. This is a little less than a year after Jakarta EE 9.1 (May 2021). In order to make this happen, the individual specifications that the Jakarta EE Platform and Web Profile specifications are based on must start their release process some time in advance of the proposed release date.

October 15, 2021, has previously been communicated as a target date for initiating release reviews for the specifications. The experience from the Jakarta EE 9 and 9.1 releases indicates that this is a reasonable time to start the release reviews to be able to finalize the Platform and Web Profile releases for Jakarta EE 10 in Q1.

So what about Jakarta EE Core Profile? Will it be released at the same time as the Platform and Web Profile? Well, it is possible, but unlikely. It depends on the progress of the CDI Lite specifications and maybe also Jakarta Config. The platform project will propose a release plan for Jakarta EE Core profile shortly. Join the weekly Jakarta EE Platform calls on Tuesdays 11:00 AM ET to get the latest information first and contribute to the progress. you find the details in the Jakarta EE Specifications public calendar.

Hashtag Jakarta EE #85

Welcome to the eighty-fifth issue of Hashtag Jakarta EE!

I am still on vacation, but you know what they say: “The Hashtag must go on…“.

The plan review for Jakarta EE 10 Platform and Web Profile has started and is happening on the public Jakarta EE Specification Committee mailing list. The proposed plan is to release Jakarta EE 10 in Q1 2022. You can find the details in the Jakarta EE 10 release plan.

I want to remind you again to submit your abstracts to the JakartaOne Livestream CFP. The Call for Paper is open until September 15, but don’t wait until the last minute! You are more likely to be accepted if you submit early, and often…

Hashtag Jakarta EE #84

Welcome to the eighty-fourth issue of Hashtag Jakarta EE!

I’m out on vacation these weeks, so I will keep it short this time. The work on the Jakarta EE 10 plan continues, and will (hopefully) be completed in the platform call in the coming week. Even if I am out of office, the Jakarta EE Platform project goes on!

The agenda for EclipseCon 2021 Community Day Jakarta EE, MicroProfile, and Cloud-Native Java is complete. Please take a look and help spread the word? Also, note that EclipseCon this year is free and virtual. There is really no good reason not to attend. Read Why You Should Join EclipseCon 2021 Community Day by Resa Rahman if you’re still not convinced.

Remember the Call-for-Paper for JakartaOne Livestream is still open. It is open until September 15, but don’t wait until the last minute. You are more likely to be accepted if you submit early…

Hashtag Jakarta EE #83

Welcome to the eighty-third issue of Hashtag Jakarta EE!

Last week’s platform call was devoted entirely to the Jakarta EE 10 release plan. The platform team is in agreement, and only a last brushup is needed before the plan is submitted for plan review by the Jakarta EE Specification Committee.

As expected from the discussion around adding Jakarta MVC to the Jakarta EE Web Profile, it looks like MVC will continue as an independent specification for a while longer. The reasoning behind this decision is that most application server vendors would like to see more adoption before adding it to the platform. It is kind of a chicken-and-egg situation as inclusion in the platform would most likely result in far more adoption than as it is today. The good news is that Eclipse Krazo is certified as a compatible implementation for runtimes based on both Eclipse Jersey and RESTEasy.

Using Eclipse Krazo Jersey with Eclipse Jersey

<dependency>
  <groupId>jakarta.mvc</groupId>
  <artifactId>jakarta.mvc-api</artifactId>
  <version>2.0.0</version>
</dependency>

<dependency>
  <groupId>org.eclipse.krazo</groupId>
  <artifactId>krazo-core</artifactId>
  <version>2.0.1</version>
</dependency>
<dependency>
  <groupId>org.eclipse.krazo</groupId>
  <artifactId>krazo-jersey</artifactId>
  <version>2.0.1</version>
</dependency>

Using Eclipse Krazo with RESTEasy

<dependency>
  <groupId>jakarta.mvc</groupId>
  <artifactId>jakarta.mvc-api</artifactId>
  <version>2.0.0</version>
</dependency>

<dependency>
  <groupId>org.eclipse.krazo</groupId>
  <artifactId>krazo-core</artifactId>
  <version>2.0.1</version>
</dependency>
<dependency>
  <groupId>org.eclipse.krazo</groupId>
  <artifactId>krazo-resteasy</artifactId>
  <version>2.0.1</version>
</dependency>

In addition to this, Eclipse GlassFish 6.2.0 is also a certified compatible implementation of Jakarta MVC, so if you’re using this version of GlassFish, no configuration is needed. Just go ahead and create your MVC applications.

The Call-for-Paper for the third edition of JakartaOne Livestream is open. It is open until September 15, but don’t wait until the last minute. You are more likely to be accepted if you submit early…

Hashtag Jakarta EE #82

Welcome to the eighty-second issue of Hashtag Jakarta EE!

One of the goals the Jakarta EE platform project is working towards is to create some sort of predictability regarding Java SE with future Jakarta EE releases. It seems that we are approaching something that looks like a strategy regarding this goal.

As previously announced, Jakarta EE 10 will be based on Java SE 11. That means that the specification projects will be able to use Java SE 11 language features in their APIs.

The TCK will be possible to run with any version from 11 and above.

For Jakarta EE 11, the Java SE version will be raised to the next LTS release, which will be Java SE 17. And so on…

What this means for the individual component specification teams, is that they can embrace Java SE language features of the version supported by the platform they plan to target. An example:

The specification Jakarta Wombat 1.1 use Java SE 11 language features and target Jakarta EE 10 while Jakarta Wombat 1.2 use Java SE 17 language features (e.g. Records) and thus target Jakarta EE 11
An implementation of Jakarta Wombat, e.g. Possum can use Java SE 17 features both for Possum 1.0 which implements Jakarta Wombat 1.1, and Possum 2.0 which implements Jakarta Wombat 1.2.

The release plan for Jakarta EE 10 is out for review by the Jakarta EE platform project. Hopefully, we will be able to wrap up the discussions in the platform call on Tuesday, and propose this plan for review by the Jakarta EE specification committee.

Earlier this year, I participated in the Foojay Virtual Tour with a talk at KnoxJava JUG. For the upcoming Virtual Foojay OpenJDK 17+ JUG Tour, I have a new talk called Leveraging OpenJDK 17 features with Jakarta EE. If you would like to hear about this in your JUG, do follow the instruction on foojay.io to sign up.

Hashtag Jakarta EE #81

Welcome to the eighty-first issue of Hashtag Jakarta EE!

Last week we hosted the Jakarta EE Update call. If you missed it, don’t despair as it was recorded. As usual, it will be cut into smaller themed pieces and published on the Jakarta EE YouTube channel.

The Jakarta EE Platform project has stated a clarification regarding the Java SE level for Jakarta EE 10. The component specifications are recommended, not recommended to compile their API jar files to Java SE 11. That means that they can compile to lower Java SE levels if it fits them better. The recommendation, however, is still to compile to Java SE 11 using the --release option to the compiler. Exemplified here by the maven compiler plugin configuration.

...
    <maven.compiler.release>11</maven.compiler.release>
...

The topic of release cadence and time-based vs feature-based continues. I suspect this to be the major discussion point in the platform call next week. One of the questions that are being discussed is whether to tie the roadmap and release cadence to the Java SE LTS releases, effectively meaning a three-year release cycle for the Jakarta EE Platform and Profiles. Please join in on the discussions on the mailing list and the weekly platform project calls.

The JakartaOne Livestream 2021 Call-for-Paper is open! Take this opportunity and submit your talk to the third edition of this one-day virtual conference. If you are a new speaker, take a look at the previous editions for inspiration. If you have spoken at any of, or both, the previous events, make sure to complete your collection of the JakartaOne Livestream buttons.

Hashtag Jakarta EE #80

Welcome to the eightieth issue of Hashtag Jakarta EE!

Our next Jakarta EE Update call is coming up on Wednesday, July 14th. Join in to get the latest updates from the Jakarta EE working group. It is an informal event where you will be able to ask any questions you may have, and hopefully get them answered. Refer to the Jakarta EE Community Calendar for details.

The weekly calls in the Jakarta EE Platform project continue. Last week’s call was largely dominated by discussions around versioning schemes. I expect that this will continue in this week’s call as well.

Check out the Jakarta EE Specifications Calendar for meeting details. There are several other regular calls listed here as well. The Jakarta CDI project meets weekly. The same goes for Jakarta Config, while Jakarta MVC has monthly calls.

If you arrange calls for your Jakarta specification project, please do remember to add them to the calendar, so everyone interested is able to join. Both for once-in-a-while, ad-hoc as well as regular calls.

The number of compatible products for Jakarta EE 9.1 continues to rise. The Jakarta EE 9.1 Platform Compatible Products are Eclipse GlassFish, ManageFish Server, Open Liberty, Payara Server Community, and WildFly.

The Jakarta EE 9.1 Web Profile Compatible Products are Apache TomEE, Eclipse GlassFish, Open liberty, and WildFly.

Get Listed!

If you are doing some interesting work that involves Jakarta EE technologies, please do reach out to me. I will be happy to add it to an upcoming issue of Hashtag Jakarta EE.