The Spring Native beta is released, it is great news for Spring developers. Quarkus got GraalVM native image and Kubernetes support since it was born, and Micronaunt and Oracle Helidon also added GraalVM support for a long time.

The image is from https://unsplash.com/photos/sBNx8CBj12w

As explained in the GraalVM introduction page, GraalVM is a high-performance JDK distribution designed to accelerate the execution of applications written in Java and other JVM languages along with support for JavaScript, Ruby, Python, and a number of other popular languages. GraalVM’s polyglot capabilities make it possible to mix multiple programming languages in a single application while eliminating foreign language call costs.


Github is easy to share codes with others, for example I created jakartaee9-starter-boilerplate as a project template for Jakarta EE developers. For those who are familiar with Github, it is easy to start their new projects by forking or cloning this project directly. But obviously for a general Jakarta EE application, you do not need the configuraitons of all application severs, eg. Glassfish/Payara, WildFly, OpenLiberty, Apache TomEE, etc. For most of Java developers esp. …


I have created a jakartaee9-starter-boilerplate repository for developers to build a Jakarta EE 9 project. You can read the articles I have written for the codes.

The image is from https://unsplash.com/photos/RDW22bbsN0Y

I shared this project in the official Jakarta EE community mail list, and got that Eclipse EE4J starter project planned to provide a custom starter template for Jakarta EE 9. I was suggested to create a Maven archetype as a start point to share my work in the starter project. So I created another Maven archetype for Jakarta EE 9 repository for this purpose. …


In addition to Deploying Jakarta EE 9 applications to Apache TomEE, in this post using Cargo Maven Plugin instead.

We have discussed the deployment to Apache TomEE using the official tomee-maven-plugin. With tomee-maven-plugin, it is easy to download a copy of Apache TomEE distribution and start the TomEE server and then deploy the application to it. Or deploy your application to a running TomEE server. The official maven plugin is great for most cases, but it lacks the ability to deploy the application to a local installed server with fine-grained configurations.

Cargo maven plugin 1.8.3 brought updates to TomEE 9.0…


Payara Community 5.2020.5 has introduced tech preview functionality to run Jakarta EE 9 on Payara Server and Micro, more details please go to the release notes.

Originally Payara was a fork of the open-sourced Glassfish, but it includes a bundle of new features that not existed in Glassfish.

  • Numerous improvements and quicker bugfixes in comparison to the existing Glassfish
  • Java 11(or above) support
  • Built-in Microprofile support and ready for cloud native applications
  • Many third-party services integration.
  • Comprehensive documentation and technical guides
  • Commercial support available for paid enterprise users.

Payara Community is also open sourced, for developers, you use it as…


The OpenLiberty/arquillian-liberty has began to add Jakarta EE 9 support. For impatient users, you can taste the current work in your project now.

In this post, we will try to run the our tests on the Open Liberty container using both managed and remote adapters.

Prerequisites

Before adding Open Liberty and Aquilian integration configuration into your project, please make sure you have added Arquillian Jarkarta EE 9 and JUnit 5 dependencies.

Configuring OpenLiberty Managed Container Adapter

Add arquillian-liberty-managed-jakarta dependency into your…


Arquillian added a new module Arquillian Container Glassfish6 to align with the changes of Jakarta EE 9 and the features introduced in the Arquillian Core 1.7.0.

Arquillian Container Glassfish6 is designated to run tests on Glassfish v6, which is a full-featured Jakarta EE 9 compatible application server, so you can test all Jakarta EE 9 components using this new Arquillian Glassfish container.

In this post, we will try to run the our tests on the Glassfish container using both managed and remote adapters.

  • When using the managed adapter, Arquillian has ability to manage lifecycle of Glassfish server,eg. …


Arquillian (JBoss Arquillian) Core 1.7.0 added Jakarta EE 9 and the long-awaited JUnit 5 support.

For impatient developers, you can try to run your Jakarta EE 9/JUnit 5 based Arquillian tests against Weld container, Glassfish v6 (both managed and remote) and Apache Tomcat 10 (for Jakarta Servlet 5.0).

In this post, we will try to test the CDI components on the Weld container.

Prerequisites

Configuring Arquillian and JUnit 5

Add Junit 5 dependencies to your project pom.xml file.

<dependencyManagement> <dependencies> …


This is an addition to the existing deploying Jakarta EE 9 applications to Glassfish v6 using Cargo maven plugin.

Cargo maven plugin 1.8.3 will include a glasfish6x containerId for the new Glassfish v6. In 1.8.2 or previous versions, it allows you use a JSR88 specification(Deployment) based remote deployer with a runtime configuration to deploy applications to a running Glassfish server.

This will stop to work when switching to use a glassfish6x container due to the changes happen in Jakarta EE 9 and Glassfish v6.

The JSR88 is removed in the further Jakarta EE 9, check the 6.1.4. Removed Jakarta Technologies


Open Liberty has provided a standalone preview distribution for Jakarta EE 9 in the past development iterations. At the moment I wrote this post, the latest version is 21.0.0.1-beta. Open Liberty follows a monthly publication cycle, I think the stale version will be provided in the next months.

Go to the Download page and switch to Beta tab, there are two package options in the table.

  • Jakarta EE 9 Beta Features
  • All Beta Features

And make sure you are downloading the Jakarta EE 9 Beta Features.

Prerequisites

Make sure you have installed the following software.

  • Java 8 or Java 11
  • Apache…

Hantsy

Self-employed technical consultant, solution architect and full-stack developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store