DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

How does AI transform chaos engineering from an experiment into a critical capability? Learn how to effectively operationalize the chaos.

Data quality isn't just a technical issue: It impacts an organization's compliance, operational efficiency, and customer satisfaction.

Are you a front-end or full-stack developer frustrated by front-end distractions? Learn to move forward with tooling and clear boundaries.

Developer Experience: Demand to support engineering teams has risen, and there is a shift from traditional DevOps to workflow improvements.

Related

  • From J2EE to Jakarta EE
  • The Next Evolution of Java: Faster Innovation, Simpler Adoption
  • Getting Started With JMS-ActiveMQ: Explained in a Simple Way
  • A Systematic Approach for Java Software Upgrades

Trending

  • Software Specs 2.0: An Elaborate Example
  • Serverless IAM: Implementing IAM in Serverless Architectures with Lessons from the Security Trenches
  • Altering XML Tag Position Using Mule 4 With Basic Authentication
  • The Rise of Vibe Coding: Innovation at the Cost of Security
  1. DZone
  2. Coding
  3. Java
  4. Converting ActiveMQ to Jakarta (Part 1)

Converting ActiveMQ to Jakarta (Part 1)

Jakarta, formerly the Java Enterprise Edition (Java EE or J2EE), is the standardization of many important APIs used in enterprise and mobile Java applications.

By 
Matt Pavlovich user avatar
Matt Pavlovich
·
Nov. 24, 23 · News
Likes (2)
Comment
Save
Tweet
Share
4.5K Views

Join the DZone community and get the full member experience.

Join For Free

What Is Jakarta?

Jakarta, formerly the Java Enterprise Edition (Java EE or J2EE), is the standardization of many important APIs used in enterprise and mobile Java applications. These standardized APIs allow coders to write applications with support for features such as interacting with data in databases, transmitting or retrieving data from a queue, collaborating with web services, or developing web-based applications.

The Jakarta standards and releases operate under the umbrella of the Eclipse Foundation's project framework. This foundation, a highly respected open-source organization, is responsible for various significant Java-based technologies, including a complete Java distribution. These key specifications are now set to evolve quicker and introduce new features more rapidly than when under the previous organization structure.

The timeline for adopting the new version of the Jakarta EE APIs is primarily driven by the popular Spring framework and Spring Boot runtime. Spring established that all applications will be using Java JDK 17, and Jakarta will form the foundation for Spring version 6 and Spring Boot version 3. Free, open-source support for Spring version 5 and Spring Boot version 2 ends at the end of 2023. Spring’s extensive connections to other popular Java frameworks are rippling through the entire Java ecosystem to jumpstart the transition over the next year.

Code Changes Ahead

For enterprise developers, the advent of new Spring 6 and Spring Boot 3 projects will spotlight Jakarta as the primary focus, necessitating the update of any existing projects accordingly. With the decoupling of Java from Oracle, the namespace of the APIs has transitioned from 'javax' to 'jakarta'. Consequently, Java code leveraging these specifications requires updates. For instance, applications utilizing the Persistence specification (or JPA) for storing and fetching data from a database will need to undergo changes.    

Java
 
import javax.persistence.Query;


To:

Java
 
import jakarta.persistence.Query;


For applications using the Jakarta Messaging specification (aka JMS) to send and receive messages using queues:

Java
 
import javax.jms.Message;


To:

Java
 
import jakarta.jms.Message;


Small projects and micro-services should migrate very quickly.  After the initial one or two conversions, developers should be proficient enough to migrate any code base with minimal effort. However, larger projects may require a deeper investment of effort, as any existing technical debt could potentially magnify the scope of tasks that need to be addressed.

Moving Forward

The Java ecosystem is quickly evolving, creating enormous value for developers and, ultimately, organizations utilizing Java for their applications. 

In addition to Jakarta, the Java language itself is getting substantial updates — such as Lambda expressions, Virtual Thread (Project Loom), Records, and many performance and optimization enhancements to Java execution — which are improving the developer experience and lowering cloud bills. These improvements introduce exciting features inspired by languages like Scala and Kotlin that had been popular due to certain developer-centric functionalities but were not the best choice for enterprises due to the limited availability of developers when compared to Java.

With a rich ecosystem of tools and a massive pool of available developer talent, these features will improve performance, lower costs, and attract talent with improved developer experience. This innovation and improvement to standards and frameworks will keep the Java ecosystem thriving for years.

Here at HYTE, we develop our products using Java, utilizing many specifications noted in this blog post. Stay tuned for insights on HYTE's experiences in updating our products for Jakarta and our contributions to Open Source projects — including the substantial amount of work needed to complete the update of Apache ActiveMQ to Jakarta EE APIs.

Java Development Kit Java EE Open source Java (programming language)

Published at DZone with permission of Matt Pavlovich. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • From J2EE to Jakarta EE
  • The Next Evolution of Java: Faster Innovation, Simpler Adoption
  • Getting Started With JMS-ActiveMQ: Explained in a Simple Way
  • A Systematic Approach for Java Software Upgrades

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • [email protected]

Let's be friends: