Hashtag Jakarta EE #90

Welcome to the ninetieth issue of Hashtag Jakarta EE!

JDK 17 was released this week. With it, Oracle announced a new site for Java developers called dev.java. Check it out and let them know what you think! Oracle also announced plans for shifting the LTS release cadence from three to two years. This means that the next LTS release from Oracle will be JDK 21. Other vendors may have different approaches, but I don’t think it is a very controversial guess that most will follow suit.

The 2021 Jakarta EE Developer Survey report came out this week as well. If you are subscribing to the Jakarta EE Community mailing list, check your inbox for your copy of the report. Otherwise, use this link to get the report. You may also want to check out Top Trends in the Jakarta EE Developer Survey Results by Mike Milinkovich.

In Hashtag Jakarta EE #88, I mentioned the announcement that Spring 6.0 will be based on Jakarta EE 9. Well, here’s proof that it is on its way. Take a look at this Jakarta EE 9 Migration commit to get a feeling of the implications of the switch from javax.* to jakarta.* namespaces. Thanks to Christian Kaltepoth for pointing me in this direction.

The takeaway is that if a massive framework like Spring can do this, so can you! So don’t let fear of the namespace switch stop you from migrating to newer Jakarta EE releases.

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.